继承:继承是从已有的类创建新类的过程
语法:
[访问权限] class 子类名 extends 父类名{
类体定义;
}
示例:
public class Test {
public static void main ( String[] args ) {
HomeDog homeDog = new HomeDog ();
homeDog.print ();
}
}
class Dog{
private String name;
private String sex;
public Dog(){
System.out.println(“我是Dog的构造方法”);
}
public void eat(){
System.out.println (“吃饭”);
}
}
class HomeDog extends Dog{
public void print(){
System.out.println (“我是一只家狗,汪汪汪”);
}
}
备注:继承一个父类,只能继承非私有的数据(属性和方法)
Protected(受保护的访问权限修饰符,用于修饰属性和方法,使用protected修饰的属性和方法可以被子类继承)
创建子类对象时,父类的构造方法也会被调用,为什么?
因为子类要使用到父类的数据,那么就要通过父类的构造方法来初始化数据。
如果创建子类对象时,使用默认的构造方法,那么父类的默认构造方法也会被调用
如果创建子类对象时,会调用父类的默认构造方法
当父类没有无参构造方法时,子类必须显示的调用父类的带参构造方法,怎么调用呢?
可以在子类中显示的super(…)调用父类的构造方法,只能出现第一句
继承的限制约定:
1、java只能实现单继承,也就是一个类只能有一个父类
2、允许多层继承,即:一个子类可以有一个父类,一个父类还可以有其他的父类
3、继承只能继承非私有的属性和方法
4、构造方法不能被继承
开发原则:高内聚,低耦合