Как использовать вложенный класс в другом классе в Java? - PullRequest
6 голосов
/ 01 февраля 2011

У меня есть ситуация, когда я хочу использовать внутренний класс другого класса в другом классе.как ...

public class ListData {
    public  static class MyData {

        public String textSongName, textArtistName, textDuration, textDownloadPath,
                textSongSize, textAlbumName, textUrl;
        public boolean enable;

        public MyData(String songName, String artistName, String duration,
                String downloadPath, String songSize, String albumName,
                String url, boolean e) {
            textSongName = songName;
            textArtistName = artistName;
            textDuration = duration;
            textDownloadPath = downloadPath;
            textSongSize = songSize;
            textAlbumName = albumName;
            textUrl = url;
            enable = e;
        }
    }

}

теперь я хочу использовать класс Mydata в другом.

как я могу это сделать?

Спасибо.

Ответы [ 3 ]

21 голосов
/ 01 февраля 2011
ListData.MyData myData = new ListData.MyData();
20 голосов
/ 01 февраля 2011

Статические вложенные классы

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

Внутренние классы

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

Подробнее о вложенных классах

2 голосов
/ 19 июня 2013

Если вы можете создать объект внутреннего класса из другого класса, который находится вне области действия вашего окружающего класса, тогда вам следует использовать его полное имя .... Здесь ваш внешний класс - ListData, а ваш внутренний класс - Mydata. и мы называем Mydata из другого класса, например. YourData .. чем мы можем использовать ниже заявление ..

Синтаксис: outerclass.innerclass = новый outerclass.innerclass ();

=> ListData.MyData имя объекта = новый ListData.MyData ();

ПРИМЕЧАНИЕ: это можно использовать только тогда, когда внутренний класс статичен ..

...