2016-12-30 2 views
1

ich habe diesen Code:android studio akzeptiert innere klasse importieren?

package com.example.android.cars.data; 
    public final class DataBaseContract { 


     public static final class Table1Entry implements BaseColumns { 

      /** Name of database table for cars */ 
      public final static String TABLE_NAME = "car"; 


     } 

    } 

i Table1Entry in einer anderen Klasse mit unterschiedlichen Paket verwenden und i import die verschachtelte Klasse wie dieses importcom.example.android.cars.data.DataBaseContract.Table1Entry;

dies erlauben Sie mir, ohne äußere Präfix verschachtelte Klasse zu verwenden DataBaseContract,

meine Frage ist, wenn ich static von der geschachtelten Klasse entfernt habe, arbeitet der Code noch, wie kann dieses in diesem Fall auflaufen !! Ich brauche äußere Instanz, um darauf zuzugreifen !!

Antwort

0

Ja, Sie würden eine Instanz der äußeren Klasse benötigen IF Sie wollten Instanzmethoden der inneren Klasse zugreifen. In Ihrem Beispiel greifen Sie jedoch nur auf statische Felder zu, deshalb können Sie, da das Feld statisch ist, direkt darauf zugreifen, wie Sie es erklärt haben.

Verwandte Themen