Java 接口和抽象类小记
@author ixenos
接口
1.接口没有构造函数,因为接口是不能被实例化的
2.匿名对象如果使用接口的构造器也只是表示了一个协变的实现了接口的匿名对象
3.接口里面的成员变量默认都是public static final类型的。必须被显示的初始化。
4.接口里面的方法默认都是public abstract类型的。隐式声明。
5.接口不能实现另一个接口,但可以继承多个接口。
6.类如果实现了一个接口,那么必须实现接口里面的所有抽象方法
抽象类
1.若果在父类中(这里就是你的抽象类)中显示的写了又参数的构造函数,在子类继承是就必须写一个构造函数来调用
父类的构造函数
例子:
1 abstract class Person { //定义一个抽象类,必须被继承 2 Person(int i) { 3 } 4 } 5 6 public class Student extends Person { 7 Student() { 8 super(int i)://必须显示的调用父类构造方法//super代表父类对象 9 } 10 }
2.如果父类中有没有参数的构造函数,在子类中可以不显示的写父类的构造函数,Java会自动调用没有参数的构造函数
例子:
1 abstract class Person { //定义一个抽象类,必须被继承 2 Person() { //此构造函数也可以不写,Java会默认添加一个没有参数的构造函数 3 } 4 } 5 6 public class Student extends Person { 7 //构造函数 8 Student() { 9 //super();//可以不写,Java会自己调用这个super()方法 10 } 11 }
时间: 2024-10-05 03:47:53