简介
继承是java面向对象编程技术的一块基石。
继承是子类继承父类,使得子类对象(实例)具有父类的实例域和方法,子类从父类继承方法,使得子类具有父类相同的行为。
在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的。
例如:
class 父类 {
}
//使用 extends 关键字
class 子类 extends 父类 {
}
继承
Java 不支持多继承,但支持多重继承。
- 单继承:
class A {
}
class B extends A {
}
- 多重继承:
class A {
}
class B extends A {
}
class C extends B {
}
- 一个类可以被多个类继承:
class A {
}
class B extends A {
}
class C extends A {
}
继承的特性
1.Java 的继承是单继承。
2. 子类拥有父类非 private 的属性、方法。
3. 子类可以用自己的方式实现父类的方法,即重写。
4. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
5. 父类更通用,子类更具体。
6. 提高了类之间的耦合性,耦合度高就会造成代码之间的联系越紧密,代码独立性越差。
关键字
- extends :在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的。
- super :以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
- this:指向自己的引用。
例如:
class A {
void k() {
System.out.println("aaaaaaaaaaaaaa");
}
}
class B extends A {
void k() {
System.out.println("bbbbbbbbbbbb");
}
void call() {
this.k(); // this 调用自己的方法
super.k(); // super 调用父类方法
}
}
public class Test {
public static void main(String[] args) {
A a = new A();
a.k();
B b = new B();
d.call();
}
}
以上代码执行输出:
aaaaaaaaaaaaaa
bbbbbbbbbbbb
aaaaaaaaaaaaaa