类与类,类与接口,接口与接口的关系:
a:类与类:
继承关系,只能单继承,可以多层继承。
b:类与接口:
实现关系,可以单实现,也可以多实现。
并且还可以在继承一个类的同时实现多个接口。
例子:
interface AA {
void aa();
}
interface BB {
void bb();
}
class Demo implements AA, BB {
@Override
public void aa() {
}
@Override
public void bb() {
}
}
c:接口与接口:
继承关系,可以单继承,也可以多继承。
例子:
interface AA {
void aa();
}
interface BB {
void bb();
}
interface EE {
void ee();
}
interface TT extends EE, AA, BB {
void tt();
}
class KK implements TT {
@Override
public void aa() {
}
@Override
public void bb() {
}
@Override
public void ee() {
}
@Override
public void tt() {
}
}
抽象类和接口的区别
A:成员区别
抽象类:
成员变量:可以变量,也可以常量
构造方法:有,用于创建子类对象时,先调用父类构造,完成父类数据的初始化。
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量,因为存在默认修饰符 public static final
构造方法:无
成员方法:只可以抽象
B:关系区别
类与类
继承,单继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承
C:设计思想的区别
抽象的父类,他是定义所有子类共性的功能,并把他抽象出来,强制子类必须重写。
接口,他是定义事物的扩展功能,哪些事物想要具备这些扩展功能,可以去实现这个接口。