java 抽象类和接口的继承 抽象类与接口系列之三 发表于 2019-07-30 分类于 java 热度: 本文字数: 2.1k 阅读时长 ≈ 3 分钟 抽象类只能被单继承,而接口可以被多继承。 一个类中可以继承单个抽象类和多个接口 。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889package java_10;public class java_10_3 { public static void main(String[] args) { // TODO 自动生成的方法存根 D3 d3 = new D3(); d3.meth_Abtract_IA3(); d3.meth_Abtract_IB3(); E3 e3=new E3(); e3.meth_Abtract(); e3.meth_Abtract_IA3(); F3 f3=new F3(); f3.meth_Abtract(); f3.meth_Abtract_IA3(); f3.meth_Abtract_IB3(); }}// 抽象类中可以有非抽象成员,而接口不能有非抽象的成员abstract class A3 { public abstract void meth_Abtract(); public void meth_UnAbtract() { }}// 先定义两个接口,再下面继承两个接口interface IA3{ public abstract void meth_Abtract_IA3(); //public void Meth_Test(){} //不能有非抽象的成员}interface IB3 { public abstract void meth_Abtract_IB3();}// 抽象类和接口的继承 关键字不同,extends,implementsclass C3 extends A3 { // 继承 A3抽象类,只能单继承 public void meth_Abtract() { }}class D3 implements IA3, IB3 { // 继承 IA3,IB3 接口;接口可以多继承 @Override // 每继承接口都要覆盖,实现方法 public void meth_Abtract_IA3() { // TODO 自动生成的方法存根 System.out.println("class D3 继承IA3接口"); } @Override public void meth_Abtract_IB3() { // TODO 自动生成的方法存根 System.out.println("class D3 继承IB3接口"+"\n------------------------"); }}class E3 extends A3 implements IA3 { public void meth_Abtract() { System.out.println("class E3 继承A3抽象类"); } public void meth_Abtract_IA3() { System.out.println("class E3 继承IA3接口"+"\n------------------------"); }} class F3 extends A3// F3 //抽象类的继承只支持单继承,而接口允许多继承 implements IA3, IB3 { public void meth_Abtract() { System.out.println("class F3 继承A3抽象类"); } @Override public void meth_UnAbtract() { // TODO 自动生成的方法存根 System.out.println("重写A3里面的非抽象类方法:public void meth_UnAbtract()"); super.meth_UnAbtract(); } public void meth_Abtract_IA3() { System.out.println("class F3 继承IA3接口"); } public void meth_Abtract_IB3() { System.out.println("class F3 继承IB3接口"); }} 打赏由马云爸爸买单,谢谢请我喝牛奶. 打赏 支付宝红包 支付宝