2013-03-25 115 views
-2

我已經粘貼了代碼,現在我的查詢是在名爲「accesssp」的第一個類中添加了對象,然後編寫了SOP,那麼爲什麼我不能輸出值爲B? b的訪問是私人的,但我在同一類中獲取價值需要了解公共和私人

我已經完成了部分BOLD,我不明白。

class accesssp { 

public int a=56; 
private int b=5566; 
public int c=58766; 

System.out.println(b); 

} 

class accesssp1 extends accesssp{ 

public void accessd() { 

    System.out.println(a); 
    System.out.println(c); 

} 

} 
public class Access_Spf { 

public static void main(String[] args) { 


    accesssp1 sp1 = new accesssp1(); 
    sp1.accessd(); 
} 

} 
+0

該代碼不能編譯。您應該閱讀編譯器錯誤消息。如果你不理解它,你應該粘貼準確完整的編譯器錯誤信息,而不是讓我們猜測問題可能是什麼。 – 2013-03-25 10:10:15

+0

您需要將print語句放在類的一個方法中。 – 2013-03-25 10:16:35

回答

0
System.out.println(b);

既不在main()方法也沒有在任何功能。這不能像你所做的那樣直接執行。在附註中,變量b將不能在accesssp1類中訪問。

+0

那麼什麼是方法來顯示b的價值, Sorrrry bt我是一個初學者,所以請不要嘲笑我...:D – 2013-03-25 10:16:50

+0

使用任何方法。嘗試:'public accesssp(){System.out.println(b);}' – Aashray 2013-03-25 10:17:35

+0

它在構造函數中被調用。 – Aashray 2013-03-25 10:18:35

1

那麼,它的cuz system.out.println語句應該在方法/構造函數體內,就像你在第二和第三種情況下所做的那樣。這是一個編譯器錯誤。

class accesssp { 

public int a=56; 
private int b=5566; 
public int c=58766; 

System.out.println(b);//should be inside a method/cons body 

} 
+0

我明白你想說什麼bt不正確, 請你告訴我,在代碼中我應該把它放在哪裏? – 2013-03-25 10:14:30

+0

你的打印語句不能在類體內。它必須在塊或方法體內部。 – PermGenError 2013-03-25 10:15:46

+1

明白了。 10x 4幫助。 – 2013-03-25 10:41:17

0

SOP應該在任何方法內。在accesssp1的構造函數使用構造函數,並打印在構造函數中,然後調用super()

class accesssp { 

public int a=56; 
private int b=5566; 
public int c=58766; 

public accesssp() 

{ 
System.out.println(b); 
} 

} 

class accesssp1 extends accesssp{ 

public accesssp1() 
{ 
super(); 
} 


public void accessd() { 


System.out.println(a); 
System.out.println(c); 

} 

} 
public class Access_Spf { 

public static void main(String[] args) { 


accesssp1 sp1 = new accesssp1(); 
sp1.accessd(); 

} 

} 
+0

非常感謝你的先生, 希望得到你的進一步幫助。 再次感謝...:) – 2013-03-25 10:18:55

+0

不客氣。你可以接受這個。你可以用google搜索這個。許多人會投下這個問題。 – iCode 2013-03-25 10:20:52

+0

我不在乎這個投票系統。因爲我是java的初學者。 那麼, 需要回答一個愚蠢的問題, 需要constructer? – 2013-03-25 10:22:35

0

在Java中訪問說明,還有,

private, public and protected. 

上述每一個都有那裏的功能,他們在那裏的範圍和知名度的基礎上解釋。

private has scope & visibility resides only on inside a function or there the class. 

例如:

public class classFirst 
{ 
    private int variableName1;//scope and visibility inside this class 
    public void function1() 
    { 
     private int variableName2;//scope and visibility inside this function not use outside. 
    } 
} 

公衆範圍&知名度駐留在任何地方的項目(時堪稱外面只是與自己對象的調用)。這些值是通過它們的對象來訪問的。

例如:

public class classSecond 
{ 
    public int variableName1;//scope and visibility anywhere on the project 
    public void function1() 
    { 
     public int variableName2;//scope and visibility anywhere on the project 
    } 
} 

保護具有範圍&能見度在班級裏面,也訪問公共繼承的類。

所以System.out.println(b);語句必須在第一類的構造函數中。

+0

如果在方法內部沒有訪問說明符,我會給+1,它們會給編譯錯誤。 – Nulano 2014-09-23 18:17:23