在Java中,父類和子類之間有著繼承的關系,同時也可以使用四種修飾級別來控制類成員(屬性和方法)的訪問權限。這四種修飾級別分別是:
1. public:公共的,任何地方都可以訪問; 2. protected:受保護的,同一包中的類和子類可以訪問; 3. default(即不添加修飾符):默認的,同一包中的類可以訪問; 4. private:私有的,只有當前類內部可以訪問。
接下來,我們通過一個具體的例子來深入理解這四種修飾級別的使用。
public class Animal { public String name; //公共屬性 protected void run() { //受保護方法 System.out.println(name + "在奔跑"); } void eat() { //默認方法 System.out.println(name + "在吃飯"); } private void sleep() { //私有方法 System.out.println(name + "在睡覺"); } } public class Dog extends Animal { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "小狗"; dog.run(); //子類可以訪問父類受保護方法 dog.eat(); //子類可以訪問父類默認方法 dog.sleep(); //編譯報錯,私有方法在子類中不可訪問 } }
以上示例中,Animal類中的name、run()、eat()和sleep()都是Animal類的成員,在Dog類中通過繼承可以直接訪問。
在Dog類的main()方法中,我們可以看到子類對象dog可以直接訪問Animal類的公共屬性name和受保護方法run(),以及默認方法eat()。但是,私有方法sleep()在Dog類中是無法直接訪問的,也就是說,對于私有方法在子類中不可訪問的特點進行了驗證。
通過上述實例,我們可以了解Java父類和子類四種修飾級別的使用方法,不同的修飾級別可以在不同場景下控制成員的訪問權限,同時也是Java面向對象編程中的基礎知識之一。
下一篇php get端口