推 etman395:外包import進來 protected屬性也可以用 只要是繼承關係 10/04 04:08
※ 引述《s66449 (閒泡菜)》之銘言:
: 請問一下 我還是不太懂這兩種的差別
: 我知道觀念和寫法會完全不ㄧ樣
: 會這樣想是因為
: import進來的類別 我們就可以使用該類別的屬性和方法
: 而extend也是繼承之後 就也可以使用父類別的屬性和方法
: 所以我這樣想是不是有什麼觀念不對啊??
簡單的講... improt java.math.*;
你就可以 new BigDecimal(1);
但如果沒import的話
你就要 new java.math.BigDecimal(1);
那個import 只是幫你省略前面那些很長的資料夾名稱
跟extend毫無關係
import進來的類別 就可以使用該類別的屬性和方法
方法是 public static 才可以這樣用
當然屬性也是
這邊有一點的是...如果在同一個package下的class, 不用import也可以用
有個例子給你參考
你把以下程式碼分存兩個class
放在同一個資料夾下, 編譯看看
public class test {
public static void main(String[] args) {
try{
System.out.println(test2.g());
System.out.println(test2.x);
System.out.println(test2.y);
System.out.println(test2.gg());
}
catch (Exception e){
e.printStackTrace();
}
}
public class test2 {
public static int x=1;
public int y=2;
public static int g(){
return 3;
}
public int gg(){
return 5;
}
}
編譯後會出現下列錯誤
Exception in thread "main" java.lang.Error: 尚未解決的編譯問題:
無法製作非 static 欄位 test2.y 的 static 參照
無法從 test2 類型 Static 參照非 Static 方法 gg()
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.205.153
※ 編輯: MephistoH 來自: 123.204.205.153 (10/04 02:38)
※ 編輯: MephistoH 來自: 123.204.205.153 (10/04 02:44)