接口的多继承多实现
目录
- 接口的多继承多实现
-
- 多继承(接口1 extends 接口2,接口3)
- 多实现(实现类 实现 接口1,接口2)
- 总结
-
- 1.类与类的关系
- 2.类和接口的关系
- 3.接口与接口的关系
多继承(接口1 extends 接口2,接口3)
package cn.tedu.inter2;
/**本类用于测试接口与类之间的复杂关系*/
public class TestRelation {
}
//1.创建接口1
interface Inter1{
void add();//增加功能
void delete();//删除功能
}
//2.创建接口2
interface Inter2{
void update();//更新功能
void find();//查询功能
}
//4.创建接口3。同时继承接口1和接口2
/**1.接口可以继承接口,并且可以多继承,多个接口之间用逗号隔开*/
interface Inter3 extends Inter1,Inter2{
}
//3.创建接口1的实现类
class Inter1Impl implements Inter1{
@Override
public void add() {
System.out.println("正在马不停蹄的为您新增中...");
}
@Override
public void delete() {
System.out.println("商品已删除!");
}
}
//5.创建接口3的实现类
class Inter33Impl implements Inter3{
@Override
public void add() {
System.out.println("稍等......正在努力保存中");
}
@Override
public void delete() {
System.out.println("删除成功!");
}
@Override
public void update() {
System.out.println("小二正在马不停蹄的更新哟");
}
@Override
public void find() {
System.out.println("客观,马上就查询好了,稍等一丢丢");
}
}
多实现(实现类 实现 接口1,接口2)
package cn.tedu.inter2;
/**本类用于测试接口与类之间的复杂关系*/
public class TestRelation {
}
//1.创建接口1
interface Inter1{
void add();//增加功能
void delete();//删除功能
}
//2.创建接口2
interface Inter2{
void update();//更新功能
void find();//查询功能
}
//4.创建接口3。同时继承接口1和接口2
/**1.接口可以继承接口,并且可以多继承,多个接口之间用逗号隔开*/
interface Inter3 extends Inter1,Inter2{
}
//3.创建接口1的实现类
class Inter1Impl implements Inter1{
@Override
public void add() {
System.out.println("正在马不停蹄的为您新增中...");
}
@Override
public void delete() {
System.out.println("商品已删除!");
}
}
//5.创建接口3的实现类
/**2.接口与类是实现的关系,并且可以多实现,多个接口之间用逗号隔开
* 多于Java中的类而言,遵循单继承 多实现
* 一个子类只能有一个父类,但是一个子实现可以同时实现多个接口*/
class Inter33Impl implements Inter1,Inter2{
@Override
public void add() {
System.out.println("稍等......正在努力保存中");
}
@Override
public void delete() {
System.out.println("删除成功!");
}
@Override
public void update() {
System.out.println("小二正在马不停蹄的更新哟");
}
@Override
public void find() {
System.out.println("客观,马上就查询好了,稍等一丢丢");
}
}
总结
1.类与类的关系
继承关系,只支持单继承
比如,A是子类 B是父类,A具备B所有的功能(除了父类的私有资源和构造方法)
子类如果要修改原有功能,需要重写(方法签名与父类一致 + 权限修饰符>=父类修饰符)
2.类和接口的关系
实现关系.可以单实现,也可以多实现
class A implements B,C{}
其中A是实现类,B和C是接口,A拥有BC接口的所有功能,只是需要进行方法的重写,否则A就是抽象类
3.接口与接口的关系
是继承关系,可以单继承,也可以多继承
interface A extends B,C{}
其中ABC都是接口,A是子接口,具有BC接口的所有功能(抽象方法)
class X implements A{}
X实现类需要重写ABC接口的所有方法,否则就是抽象类
class A extends B implements C,D{}
其中A是实现类,也是B的子类,同时拥有CD接口的所有功能
这时A需要重写CD接口里的所有抽象方法