1、例子
class Test{
public Test(){
System.out.println("父类Test");
}
protected void DoSomething(){
}
protected Test doIt(){
return new Test();
}
}
//继承父类
class Test2 extends Test{
public Test2(){
System.out.println("父类test2");
}
public void DoSomethingNew(){
}
// 重写父类方法
public void DoSomething(){
}
// 重写父类方法
protected Test2 doIt(){
// System.out.println("Test2.doIt()");
return new Test2();
}
}
public class ClassExtends extends Test2{
public ClassExtends(){
System.out.println("子类classextends");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassExtends one = new ClassExtends();
System.out.println("--------");
Test two = new Test();
System.out.println("--------");
two.doIt();
System.out.println("--------");
Test2 three = new ClassExtends();
System.out.println("--------");
three.doIt();
System.out.println("--------");
Test2 four = new Test2();
System.out.println("--------");
four.doIt();
}
}
运行结果:
父类Test
父类test2
子类classextends
--------
父类Test
--------
父类Test
--------
父类Test
父类test2
子类classextends
--------
父类Test
父类test2
--------
父类Test
父类test2
--------
父类Test
父类test2