1.extends[继承]:
(1)通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。
(2)Java只支持单继承
(3)一个子类只能有一个基类,一个基类可以派生出多个子类
(4)从父类继承来的(private)私有的东西是没有访问权限的,只有拥有权,也覆盖不了
2.实例:
public class Person {
//私有方法-只能内部使用,外面无访问权限
private void age(){
System.out.println("Psrson age");
}
public void say(){
System.out.println("Person say");
}
public void cry(){
System.out.println("Person cry");
}
public void run(){
System.out.println("Person run");
}
}
public class ExPerson extends Person {
//覆盖父类方法
public void say(){
System.out.println("Son say");
}
//重载
public String cry(String cry){
System.out.println("Son cry");
return cry;
}
//增加父类所没有的方法
public void sleep(){
//用super关键字访问父类方法
super.say();
System.out.println("Son sleep");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Person per = new Person();
ExPerson exper = new ExPerson();
per.say();
exper.say();//覆盖后的方法
exper.sleep();//增加的方法
exper.cry("cry");//重载后的方法
exper.cry();//继承父类的方法
}
}
3.方法覆盖定义:【
和重写有区别的,和重写有区别的,和重写有区别的,】
(1)在子类中定义一个与父类同名,返回类型,参数类型均相同的一个方法,称为方法的覆盖。方法的覆盖发生在子类与父类之间。
4.覆盖与重载区别: