2017-08-27 25 views
0

創建內部類對象我無法在Java創建內部類對象:無法在java中

package OOO; 

class Car{ 
    class Engine{ 

     void display() { 
      System.out.println("this is inner diaplay() method"); 
     } 

    } 
} 

public class Sample8InnerClassCar { 
    Car c = new Car(); 
    Car.Engine e = c.new Car.Engine(); 
} 

它扔我一個錯誤:無法分配成員類型Car.Engine。有人能幫我理解更多嗎?

+0

參見:https://stackoverflow.com/questions/70324/java-inner-class-and-static -ented-class – lexicore

+2

嘗試'c.new Engine();'。使用'c'已經打開了它的範圍。 – EJP

+0

也可以使用「靜態」關鍵字的內部類 –

回答

7

正確的語法是:

Car.Engine e = c.new Engine(); 

完整的代碼片段:

package OOO; 

class Car { 
    class Engine { 

     void display() { 
      System.out.println("this is inner diaplay() method"); 
     } 
    } 
} 

public class Sample8InnerClassCar { 

    Car c = new Car(); 
    Car.Engine e = c.new Engine(); 
} 
+0

這是正確的答案(y),刪除我的。 – mirmdasif

+0

曾致謝:) – jaibalaji

+0

Car.Engine e = new Car()。new Engine();也工作:) – jaibalaji