1. 程式人生 > >JAVA核心技術I---JAVA基礎知識(查漏補缺private)

JAVA核心技術I---JAVA基礎知識(查漏補缺private)

一:private對於類和物件

private是隻有這個類內部可以訪問(類的成員函式和定義初始化)
private是類之間的限制,而不是對物件的限制《重點》
同類物件是可以直接訪問物件的私有成員
class priTest{
    private int age;
    
    public void setAge(int a) {
        this.age=a;
    }
    
    public int getAge() {
        return this.age;
    }
    
    public
int compare(priTest obj1) { int flag=0; if(this.age>obj1.age) { flag=1; } return flag; } } public class PrivateTest { public static void main(String[] args) { priTest p1= new priTest(); priTest p2= new priTest(); p1.setAge(
15); p2.setAge(16); int ret=p1.compare(p2); System.out.println(ret); } }

二:子類對於父類private成員變數的訪問

雖然子類無法繼承父類的private變數,但是其父類private成員變數和方法依然存在,可以通過父類的公共方法(未重寫)去訪問到那些欄位和方法
class priTest{
    private int age;
    
    public void setAge(int
a) { this.age=a; } public int getAge() { return this.age; } public int compare(priTest obj1) { int flag=0; if(this.age>obj1.age) { flag=1; } return flag; } } class priSonTest extends priTest{ public void test() { System.out.println("nothings"); } }
public class PrivateTest {
    public static void main(String[] args) {
        priSonTest p2= new priSonTest();
        p2.setAge(16);
        System.out.println(p2.getAge());    
   }
}

二是可以滿足一的