看板 java 關於我們 聯絡資訊
不多說 code 很短 直接貼上code import java.util.*; public class Access { class Super{ String A = "SUPER"; void Print(){ System.out.println("Hey I am Super my a is " + A); } } class Sub extends Super{ String A = "SUb"; void Print(){ System.out.println("Hey I am Sub my a is " + A); } } public static void main(String args[]){ Sub sub = new Sub(); Super sup = sub; } } 結果compile 之後 出現了這個訊息 Access.java:18: non-static variable this cannot be referenced from a static context Sub sub = new Sub(); ^ 1 error 想請問是為什麼呢? 我知道如果把那兩個class 拉到主class 的外面就會過了 不過主要是想知道為什麼... Sub sub = new Sub() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.85.48
ssc24:class包class 會變成內部類別 參考如下 01/20 23:12
ssc24:http://ppt.cc/Px7J 01/20 23:15
pzyc79:Sub sub = new Access().new Sub(); 或 static class Sub 01/21 10:56