java 抽象类和接口的继承 抽象类与接口系列之三


抽象类只能被单继承,而接口可以被多继承。

一个类中可以继承单个抽象类和多个接口 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package 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,implements
class 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接口");
}
}
Evian Z wechat
打赏由马云爸爸买单,谢谢请我喝牛奶.