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的继承中,并不是所有的元素都可以被继承,有一些是可以继承的,有一些是不可以继承的