JavaSE学习——继承

1.什么是继承

首先我们要了解什么是继承,在Java中,我们所描述的继承不像c++语言中的一样,c++语言中的继承是多继Java中的继承是单继承。

单继承:java中的单继承是一个子类只能拥有一个父类,但是一个父类可以拥有多个子类

注意:在Java中,允许使用传递继承结构,也就是说对于父类的属性以及方法,我们可以通过继承的关系无限的传递下去。在Java中,所有的类都必须有一个父类,如果我们没有声明的话,这个父类就是Object类。

在继承结构中,当我们创建子类对象的同时也会创建父类对象,并且他遵循先父后子的创建顺序。

继承的代码如下:

public class Animal {
    public String name;
    public int age;
    //动物的吃东西方法
    public void chi(){
        System.out.println(this.name+"吃东西");
    }
    //动物的走路的方法
    public void zou(){
        System.out.println(this.name+"走路");
    }
}

public class Person extends Animal{
    public void shuo(){
        System.out.println(this.name+"说话");
    }
}

public class Pig extends Animal{
    public void hengheng(){
        System.out.println(this.name+"哼哼的叫");
    }
}

public class Test {
    public static void main(String[] args) {
        Person p = new Person();
        p.name = "花花";
        //因为person类继承了animal类,所以animal类是person类的父类,person类是animal类的子类
        //person类可以调用父类animal下的两个方法和他自己的方法
        p.shuo();
        p.chi();
        p.zou();
        Pig pg = new Pig();
        //pig类可以调用父类animal下的两个方法和他自己的方法
        pg.name = "灰灰";
        pg.chi();
        pg.zou();
        pg.hengheng();
    }
}

2.继承需要了解的事情

注意:

1.Java的继承关系不易过于的复杂

2.在虚拟机创建父类的对象的时候,默认会使用空参的构造方法来创建对象,如果父类中没有空参的,则子类默认会出错,但是可以在子类的构造方法中通过super来进行父类的指定构造方法的调用来解决。

在Java的继承中,并不是所有的元素都可以被继承,有一些是可以继承的,有一些是不可以继承的

你可能感兴趣的:(JavaSE,java)