1 . 继承是面向对象三大特征之一
2、被继承的类称为父类(超类),继承父类的类称为子类(派生类)
3、继承是指一个对象直接使用另一对象的属性和方法。
4、通过继承可以实现代码重用
语法:[访问权限] class 子类名 extends 父类名{ 类体定义; }
示例: public class Dog{ protected String name; } public class HomeDog extends Dog{ //类的定义 }
1、Java只能实现单继承,也就是一个类只能有一个父类
2、允许多层继承,即:一个子类可以有一个父类,一个父类还可以有其他的父类。
3、继承只能继承非私有的属性和方法。
4、构造方法不能被继承
在子类进行实例化操作的时候,首先会先让其父类进行实例化操作。之后子类再自己进行实例化操作。
子类的实例化过程: 子类实例化时会先调用父类的构造方法 如果父类中没有默认的构造方法,在子类的构造方法中必须显示的调用父类的构造方法
方法重写:
发生在子类和父类之间,在子类中有一个与父类方法名相同,返回值相同,参数完全一样
访问修饰符大于或等于父类方法修饰符,那么子类的这个方法称为重写父类的方法(覆盖)
面试题:overloading与overriding的区别?
在子类和父类中,重写方法后,在调用时,以创建的对象类型为准,会调用谁的方法。
super关键字:
用于表示父类对象
如果我们要在子类中强制使用父类的属性,方法,构造方法,可以使用super
super.属性
super.方法
super(...)
数组的复制:从性能考虑,他们的优先选择顺序是
System.arraycopy->Arrays.copyOf->for