面向对象的三大特征:继承、封装/隐藏、多态。
继承
1.类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。
2.提高代码的复用性。
3.extends的意思是“扩展”。子类是父类的拓展。
package theChildOfGod.bjxy.oop.inherit;
public class Animal{
String eye;
public void run() {
System.out.println("跑跑!");
}
public void eat() {
System.out.println("吃吃!");
}
public void sleep() {
System.out.println("zzzzzz");
}
}
class Mammal extends Animal{
String eye;
public void taisheng() {
System.out.println("我是胎生");
}
}
class PaXing extends Animal{
String eye;
public void eggSheng() {
System.out.println("卵生");
}
}
小结:
- 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。
- java中类只有单继承(一个类只能有一个直接父类),没有像c++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。就像我们现实中,如果你有多个父母亲,那是一个多么混乱的关系呀!多继承,就是为了实现代码的复用性,却引入了复杂性,使得系统之间的关系混乱。
- java中的多继承,可以通过接口来实现
- 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
- 不同的叫法:超类,父类,基类,子类,派生类。