抽象与接口

抽象(abstract):

不能具体实现的类,无方法体,用abstract修饰;


抽象类在于继承,类继承了抽象类后需重写它的抽象方法,因为抽象类不能创建对象,所以我们测试它就可以直接调用继承它的类中重写的方法

1.接口(interface):

1.接口比抽象更抽象,只能有抽象类,实现用implments;

2.接口中只允许有常量,例:public static final int a=1;

当接口类型的引用作为方法的形参传递时,实参的传递有两种:

1.自定义类实现接口并重写抽象方法,后构造自定义类的对象作为实参传递;
2.使用匿名内部类的语法格式得到接口的引用作为实参传递;

抽象与接口区别:

1.定义:abstract(抽象), interface(接口);


2.继承抽象用extends,实现接口implements


3.继承支持单继承,接口支持多实现;


4.抽象类可有成员方法,构造方法,但接口只有常量及抽象方法


5.抽象类加子类方法不用重写,接口加方法,子类要重写


6.在jdk1.8开始允许接口有非抽象类,但要用dafault修饰

匿名内部类语法:

接口/父类类型 引用变量名 = new 接口/父类类型(){方法的重写};


 上一篇
Object类 equals和'=='包装类8种 Object类 equals和'=='包装类8种
1.常用的包 java.lang包 - 该包是Java语言的核心包,该包中的内容由Java虚拟机自动导入。 - 如:String类、System类等 java.util包 - 该包是Java语言的工具包,该包
2019-10-17
下一篇 
java三大特性(封装,继承,多态)final java三大特性(封装,继承,多态)final
1.封装: 1.就是将一些逻辑代码和实现的细节封到一个类里,隐藏细节,外部不能随便修改或调用,需要声明对象的引用来调用,可以提高代码的复用性.比如在测试类里 2.实现流程: 1.私有化成员变量用private修饰2.公有set与get方
2019-10-15
  目录