接口:interface
一种特殊类型的抽象类,接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类来完成(相当于接口的子类)。
好处:将功能的定义与现实分离,优化啦程序设计。
//一切事物均有功能,即一切事物均有接口。
接口的定义:
1.成员方法,全抽象
其中的public abstract void 类名,中public abstract 也可以省略不写或者写一个,但是和原功能一样,通常这样写会创造坑,比如创建一个接口,声明接口的方法时,需要重写接口中的抽象类,但继承不写public 就会出现错误
2.不能带有方法体的方法
定义的方法格式:
public abstract 返回类型 方法名字(参数列表);
//方法不允许使用其他的公共权限,只能用public
接口中成员变量的要求:
1.必须定义为常量
变量定义的格式:
public static final 数据类型 变量名 = 值;
//加啦static :可以被类名.调用,不需要创建接口对象,可以直接调用变量值。。其中public static final 可以省略不写,但不写不等于没有,和写具有相同功能,或者 随便写一个也一样
int x =3;等于 public static final int x =3; 等于 final int x = 3;
implements:
定义类,实现接口,重写接口中的抽象方法,
类实现接口,类似继承
class 类 implementss 接口{
重写接口中的抽象方法;
}
接口创建对象的条件:
需要在实现接口的子类中吧接口中所有的抽象方法全写,才能创建对象;
小结:父类是一个抽象类abstract(或者接口interface),其子类继承extends(或者实现接口implements)中的方法没有全部重写父类的抽象法,则子类也是一个抽象类,在测试类中,就不能new 一个子类的对象,new一个对象的条件需要在子类中吧父类的方法全写;
public class implements A,B 实现接口可以多个,不同于多继承存在安全隐患,比如两个父类拥有相同的方法,而接口多实现不存在这个问题,因为接口中的方法全是抽象的,但在实现两个接口的方法,需要把两个接口的方法全部重写。
JAVA中有多继承吗? 类没有多继承,接口有多继承
一种特殊类型的抽象类,接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类来完成(相当于接口的子类)。
好处:将功能的定义与现实分离,优化啦程序设计。
//一切事物均有功能,即一切事物均有接口。
接口的定义:
1.成员方法,全抽象
其中的public abstract void 类名,中public abstract 也可以省略不写或者写一个,但是和原功能一样,通常这样写会创造坑,比如创建一个接口,声明接口的方法时,需要重写接口中的抽象类,但继承不写public 就会出现错误
2.不能带有方法体的方法
定义的方法格式:
public abstract 返回类型 方法名字(参数列表);
//方法不允许使用其他的公共权限,只能用public
接口中成员变量的要求:
1.必须定义为常量
变量定义的格式:
public static final 数据类型 变量名 = 值;
//加啦static :可以被类名.调用,不需要创建接口对象,可以直接调用变量值。。其中public static final 可以省略不写,但不写不等于没有,和写具有相同功能,或者 随便写一个也一样
int x =3;等于 public static final int x =3; 等于 final int x = 3;
implements:
定义类,实现接口,重写接口中的抽象方法,
类实现接口,类似继承
class 类 implementss 接口{
重写接口中的抽象方法;
}
接口创建对象的条件:
需要在实现接口的子类中吧接口中所有的抽象方法全写,才能创建对象;
小结:父类是一个抽象类abstract(或者接口interface),其子类继承extends(或者实现接口implements)中的方法没有全部重写父类的抽象法,则子类也是一个抽象类,在测试类中,就不能new 一个子类的对象,new一个对象的条件需要在子类中吧父类的方法全写;
public class implements A,B 实现接口可以多个,不同于多继承存在安全隐患,比如两个父类拥有相同的方法,而接口多实现不存在这个问题,因为接口中的方法全是抽象的,但在实现两个接口的方法,需要把两个接口的方法全部重写。
JAVA中有多继承吗? 类没有多继承,接口有多继承