Java的OOP三大特征之一——继承
子类继承父类的特征和行为(属性和方法),使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。
特点:在继承关系中,父类更通用、子类更具体。
在继承关系中。父类和子类需要满足is-a的关系。子类是父类。
表示父类和子类的术语:父类和子类、超类和子类、基类和派生类,他们表示的是同一个意思。
使用继承可以有效实现代码复用,避免重复代码的出现。
当两个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它两个类继承这个父类。
继承实现了面向对象的原则:write once,only once(编写一次、且编写一次)
父类具有更一般的特征和行为,而子类除了具有父类的特征和行为,还具有一些自己特殊的特征和行为的时候使用继承。
在类与类之间使用。
在Java语言中,用extends(扩展)关键字来表示一个类继承了另一个类。
在父类中只定义一些通用的属性和方法。
子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法。或子类重新定义父类的属性、重写父类的方法可以获得与父类不同的功能。
Animal.java
1 public class Animal {2 public String name;3 public int age;4 public void shot(){5 System.out.println(name+age+"叫喊声...");6 }7 }
Dog.java
1 public class Dog extends Animal{2 public void shot(){3 System.out.println(name+age+"狗的叫声...");4 }5 }
TestDemo.java
1 public class TestDemo {2 3 public static void main(String[] args) {4 Dog dog=new Dog();5 dog.name="哈士奇";6 dog.age=5;7 dog.shot();8 }9 }
运行结果:
1 哈士奇5狗的叫声...