Java中,子類可以重寫父類的方法,即在子類中定義與父類相同的方法名、參數列表和返回類型的方法,并且可以改變其實現方式。這就是所謂的重寫(Override)。重寫是Java對象的多態性特性的一種表現,它解決了繼承中可能出現的方法沖突問題。
在Java中,除了方法的實現可以重寫外,還有成員變量和靜態方法等也可以重寫。但是需要注意的是,只有非私有的成員方法、非私有的成員變量和非私有的靜態方法才可以被重寫。
權限是Java中重要的概念之一,Java中將類與類成員分為四種權限級別:public、protected、默認(即不加任何關鍵字)、private。
public級別最高,表示對所有類都可見;protected級別表示對本類、子類和同一包中的類可見;默認級別(不加任何關鍵字)表示對本類和同一包中的類可見;private級別表示對本類可見。
public class Animal { public String name; protected int age; double weight; // 默認權限 private String sex; public void setName(String name) { this.name = name; } protected void setAge(int age) { this.age = age; } void setWeight(double weight) { this.weight = weight; } private void setSex(String sex) { this.sex = sex; } } public class Cat extends Animal { public void showInfo() { System.out.println("名字:" + name); System.out.println("年齡:" + age); System.out.println("體重:" + weight); // System.out.println("性別:" + sex); // 編譯錯誤,訪問private方法 } }
在這個例子中,Animal類中的屬性name是公開的,Cat類中通過繼承可以直接調用;屬性age是受保護的,在Cat類中也可以直接調用;屬性weight沒有指定權限,默認是包內可見的,因此在子類中也可以調用;屬性sex是私有的,在子類中無法直接訪問。
上一篇oracle dv
下一篇css授權彈框 排版