* 原则如下:
* (1)如果子类声明了与父类成员变量同名的成员变量,则父类的成员变量被隐藏。
* (2)如果子类声明了父类中同名的成员方法,则父类成员方法被覆盖。重写父类的方法不允许降低父类方法的访问权限。
* (3)父类中的final方法不允许被重写(覆盖)
* (4)父类中的static方法只能被子类同名的static方法覆盖;非static方法只能被非static方法
* 覆盖。
* (5)若子类中的方法返回类型与父类不同,则变异出错
*/
public class YinCang extends Sample3_111 {
public int ti=10;
int s1=100;
public void pOne(){
System.out.println("Son change father public method.");
}
public void sOne(){
System.out.println("son add method");
}
public static void main(String args[]){
YinCang s=new YinCang();
System.out.println(s.t1+" "+s.s1);
s.pOne();
s.sOne();
}
}
package c;
public class Sample3_111 {
public int t1=1;
protected int t2=2;
int t3=3;
private int t4=4;
public void pOne()
{
System.out.println("father public method");
}
public void pTwo()
{
System.out.println("t4="+t4);
pThree();
}
private void pThree()
{
System.out.println("father private nrthod");
}
}