300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

时间:2022-12-13 13:23:08

相关推荐

java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!

恰饭广告

接口:接口是抽象方法的集合。接口通常以interface来声明。

接口注意事项:

1、严格来说,接口是用来实现(implements),而不是继承(extends)。

2、接口对象不能直接使用关键字new进行实例化,可以利用子类对象的向上转型进行实例化。

3、接口必须要有子类,子类可以实现(implements)多个接口,而且一个接口也能继承另一个接口。

4、接口的成员只能是常量,不能是变量。如String name;(变量)。String name=bing;(常量)。

5、接口的成员和方法一般都是对外开放的(public) ,【private 、protected 、abstract】不能去修饰接口的常量。【protected、private、static、final】不能去修饰接口的方法。

6、定义接口方法和常量的时候就算没有写上public,那么最终的访问权限也是public,而不是default。

7、为了节省打字时间,接口的方法默认都是public abstract修饰。

接口的示例代码:

public interface OneInterface { //接口1

public static final String oneName = "小明";//全局常量

public abstract void msgOne();//公共抽象方法,无return

}

interface TwoInterface{ //接口2

public static final String twoName = "小红";//全局常量

public abstract String msgTwo();//公共抽象方法,有return

}

要去实现接口的子类:

public class Test implements OneInterface,TwoInterface{ //多接口实现

@Override

public void msgOne() { //子类去实现接口1的方法

System.out.println(oneName);

}

@Override

public String msgTwo() { //子类去实现接口2的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test(); //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

接口的作用:(不是三言两语就能说清楚的)

1、解决了java的单一继承(extends)。

抽象类:abstract修饰的类。

抽象类注意事项:

1、abstract 可以修饰类或方法,但不可以修饰成员和构造方法。

2、抽象类对象不能通过new关键字实例化。

3、抽象方法不在声明它的类中实现,但必须在某个子类中重写。

4、abstract 关键字不能应用于 static、private 、 final 修饰的方法,因为这些方法不能被重写。

5、抽象类不一定要有抽象方法,但有抽象方法的类必定是抽象类。

抽象类代码例子:

public abstract class Abstract {

String oneName="小明";

String twoName="小红";

public abstract void msgOne(); //抽象类自己的不能实现的方法

public abstract String msgTwo();

static void test(){ //抽象类自己的可以实现的方法

System.out.println("小明\n小红");

}

public static void main(String[] args){

test(); //抽象类不能创建对象,所以用static修饰方法,方便调用

}

}

继承抽象类的子类:

public class Test extends Abstract{ //继承抽象类

@Override

public void msgOne() { //重写了抽象类的方法

System.out.println(oneName);

}

@Override

public String msgTwo() { //重写了抽象类的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test(); //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

运行结果:(相同)

小明

小红

接口与抽象类的区别:

1、接口多实现,抽象单继承。

2、抽象类中有自己可以实现的方法体,但接口不行。

3、抽象类可以有静态代码块和静态方法,但接口不行。

4、图:

最后:仔细认真理解!

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信

恰饭广告

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。