java继承
java基础篇

1、Java只能实现单继承,也就是一个类只能有一个父类。
2、允许多层继承,即:一个子类可以有一个父类,一个父类还可以有其他的父类。
3、继承只能继承非私有的属性和方法。
4、构造方法不能把继承。
在子类进行实例化操作的时候,首先会先让其父类进行实例化操作。之后子类再自己进行实例化操作。
当父类中无默认构造方法时,子类中必须显示的调用父类的构造方法。
此时用super关键字,如:super();//super表示对象的引用,调用父类构造方法语句,必须是第一句。如果父类中,没有默认的构造方法,在的构造方法中必须显示的调用父类的构造方法。
方法的重写:
有的时候我们在子类中继承的方法,不想按照父类的方法去执行,所以我们需要在子类中重写方法。
在Java中,可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写,方法重写又称方法覆盖。
关于方法重定怕一些特性。
1、发生方法重写的两个方法,返回值、方法名、参数列表必须完全一致(子类重写父类的方法。)
2、子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3、子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
例:
public class aa{ public static void main(String[] args){ HomeDog hd = new HomeDog("小白"); hd.desc(); Dog d = new Dog("小黑"); d.desc(); } } class Dog{ protected String name; public Dog(String name){ this.name = name; } protected void desc(){ System.out.println("dog:my name is "+name); } } class HomeDog extends Dog{ public HomeDog(String name){ super(name); } //重写父类的方法 public void desc(){ System.out.println("我是一只狗,我的名字是:"+name); } }