1. 程式人生 > 其它 >Shell程式設計之備份資料庫

Shell程式設計之備份資料庫

向上轉型和向下轉型

相同點:

如果子類重寫了父類的方法,呼叫的是子類中重寫的方法。

不同點:

向上轉型只能呼叫與父類引用中父類相同的方法,不能呼叫子類自定義方法;

向下轉型可以呼叫父類的方法,也能呼叫子類自定義方法;

public class test01 {
public static void main(String[] args) {
//向上轉型
Parent p=new Children();
p.eat();
p.sleep();
//p.play();不能通過編譯
//向下轉型
Children c=(Children) p;
c.sleep();
c.sleep("hi");
c.play();
}
}

class Parent {
//定義兩個方法
public void sleep(){
System.out.println("Parent.sleep");
}
public void eat(){
System.out.println("Parent.eat");
}
}

class Children extends Parent {
//過載父類sleep()方法
public void sleep(String str){
System.out.println(str+",Children.sleep");
}
//重寫父類sleep()方法

@Override
public void sleep() {
super.sleep();
System.out.println("Children.sleep");
}
//子類自定義方法
public void play(){
System.out.println("Children.play");
}
}

結果:

Parent.eat

Parent.sleep

Children.sleep

Parent.sleep

Children.sleep

hi,Children.sleep

Children.play