-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjava_extends.txt
69 lines (50 loc) · 1.89 KB
/
java_extends.txt
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
claass 子类 extends 父类
class Dog extends Animal {
...
}
继承的特点:
子类拥有父类除private以外的所有属性和方法
子类可以拥有自己的属性和方法
子类可以重写实现父类的方法
java中的继承是单继承,一个类只有一个父类
系统先创建父类对象,再创建子类对象,先初始化属性,再调用构造函数
final 修饰类,则该类不允许被继承,为最终类
final 修饰方法,则该方法不允许被重写
final 修饰属性,则该类的属性不会进行隐式的初始化(累的初始化属性必须有值),或者在构造方法中赋值(二选一)
final 修饰变量,则只能赋值一次,变为常量
super在子类内部使用,代表父类对象
super.chac
super.useTools()
super(int i) 调用父类参数为一个整型的构造函数
多态实现的三个必要条件:继承,重写,向上转型(父类引用指向子类对象)
多台实现方式:继承父类进行方法重写,抽象类和抽象方法,接口实现。
Animal a= new Dog();
抽象方法:仅有声明而没有方法体
抽象类:包含抽象方法的类,前面要加abstract
abstract class A{
public void fun(){
System.out.println("normal function")
}
public abstract void afun();
}
@Override //伪代码,重写方法,编译器会检查方法名是否存在于父类中,如果没有则报错
接口是一个完全抽象类,不提供任何方法体
修饰符 interface 接口名称 [extends 其他接口]{
// 声明变量
// 抽象方法
}
interface Animal {
int y=5;
public void eat();
public void travel();
}
接口不能用于实例化对象
接口中所有的方法是抽象方法
接口成员是 static final 类型
接口支持多继承
修饰符 interface A extends 接口1, 接口2 {
...
}
修饰符 class A implements 接口1, 接口2 {
...
}