一、訪問修飾符的介紹
信息隱藏是 OOP 最重要的功能之一,也是使用訪問修飾符的原因。信息隱藏的原因包括:(1)對任何實現細節所作的更改不會影響使用該類的代碼,(2)防止用戶意外刪除數據。訪問修飾符使用的關鍵字有三個:private(私有) ,protected(保護),public(公共)。他們既可以修飾屬性,也可以修飾方法。還有一個就是默認修飾符,就是屬性或者方法前面不添加任何訪問修飾符,它們的功能如下:
private:只有該類可以訪問
protected:該類及其子類的成員可以訪問,同一個包中的類也可訪問
public:該類或非該類均可訪問
默認:相同數據包中的類可以訪問
列一個表看起來更加清晰:

二、示例
我們現在可以把類修改一下,定義幾個使用不同修飾符的屬性和方法。
public class Animals { private String name;// 私有屬性 protected boolean gender;// 保護屬性 public int age;//公有屬性 public Animals() { System.out.println("新建一個動物"); } public Animals(String name) { this.name = name; System.out.println("新建一個叫" + name + "的動物"); } //公有方法 public void eat() { System.out.println(name+"我是父類的eat方法,動物吃東西");//name是私有屬性,只能本類訪問 } //保護方法 protected void test() { System.out.println("保護方法"); } //私有方法 private void mymethod(){ System.out.println("私有方法"); } }
這個時候也許我們之前的代碼就會報錯了。首先我們看看Run類:如下圖

所有的私有屬性和方法都只能在本類中方法所以Run類中訪問就會報錯。
我們在看看子類Carnivorous中,我們修改eat的方法。

