1.什么是继承?
继承:子类使用extends继承父类,可以是得子类具有父类的相同属性和相同方法或者重新定义、追加属性和方法等。继承属于静态,即:子类的行为在编译期就已决定,无法在执行期扩充。
注意:继承不能选择性地继承父类
2.早期的代码为什么要用到继承?
这种技术可以使复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
3.如何使用继承 例如 Student继承父类
@1 :定义一个公共类 Person,找出共有的属性和行为并定义出来
public class Person {
//属性
public String name; //姓名
public String sex; //性别
public int age; //年龄
public double height;//身高
public double weight;//体重
//行为
public void eat() {
System.out.println("我能吃饭");
}
public void sleep() {
System.out.println("我能睡觉");
}
}
@2:将与父类相同的方法和属性进行继承
注意:继承的语法格式 public class 子类名 extends 父类名{}
public class Student extends Person{
private int stuId;
@Override
public void eat() {
System.out.println("我一顿吃8碗饭");
}
@Override
public void sleep() {
System.out.println("我一天能睡8个小时");
}
}
4.继承之后之类可以重新实现父类的方法,那么调用的时候就是调用子类重写的方法.
如图上所述: 如果Student 重写sleep和eat方法后,继承的是重写后的方法。相反没有重写方法的话,子类默认继承父类的方法。
5.父类私有(private)的方法和属性无法被子类继承,父类中public、protected修饰的属性和方法可以继承
@1:在Person类中新增私有的number属性和私有的outtime属性
@2:在子类里面无法调用继承父类里面的私有的属性和行为
6.子类中通过super关键字来调用父构造方法
@Override
public void sleep() {
super.sleep();//super关键字
}