2016-03-24 2 views
-1

У меня есть класс, называемый NumFiles, который состоит из массивов матриц:Как сделать класс есть поле для объекта из другого класса

public class NumFiles { 

    private int[][] one = makeMatrix("one.txt"); 
    private int[][] two= makeMatrix("two.txt"); 
    private int[][] three= makeMatrix("three.txt"); 
    private int[][] four= makeMatrix("four.txt"); 
    private int[][] five= makeMatrix("five.txt"); 
    private int[][] six= makeMatrix("six.txt"); 
    private int[][] seven= makeMatrix("seven.txt"); 
    private int[][] eight= makeMatrix("eight.txt"); 
    private int[][] nine= makeMatrix("nine.txt"); 
    private int[][] zero= makeMatrix("zero.txt"); 

    public NumFiles() { 
    } 
    ... 
} 

Затем я сделал еще один класс с именем ImgClass, который нужно имеют поле для объекта NumFiles. В ImgClass необходимо получить доступ к объекту NumFiles, чтобы использовать матрицы, из которых он состоит.

Мой вопрос: как я могу назвать объект NumFiles в классе ImgClass? Как я могу создать поле объекта NumFiles в другом классе?

+1

'Numfiles файл = новые Numfiles()'? – SomeJavaGuy

+0

вы буквально объявляете поле и инициализируете его: D – Vucko

+0

@KevinEsche Я сделал это, и я получил сообщение об ошибке «NumFiles не может быть разрешен к типу» и создать класс – amizz

ответ

2

Вы передаете его в конструктор или в инкубаторе, или экземпляр поля

pubic class ImgClass{ 
    private NumFiles numFiles; //choice 2,3,4 
    // private NumFiles numFiles = new NumFiles(); //choice 1 

    public ImgClass(NumFiles numFiles){ //choice 2 
     this.numFiles = numFiles; 
    } 

    public ImgClass(){ //choice 3 
     this.NumFiles = new NumFiles();  
    } 

    //public ImgClass(){ //choice 1 or 4 
    //} 

    public void setNumFiles(NumFiles numFiles){ //choice 4 
     this.numFiles = numFiles; 
    } 
} 

Для выбора 1:

ImgClass imgClass = new ImgClass(); 

Для выбора 2:

ImgClass imgClass = new ImgClass(new NumFiles()); 

Для выбора 3:

ImgClass imgClass = new ImgClass(); 

Для выбора 4:

ImgClass imgClass = new ImgClass(); 
imgClass.setNumFiles(new NumFiles()) 
+0

Я пробую любую из них, и он говорит: «NumFiles не может быть разрешен к типу ", и я должен создать класс под названием NumFiles. – amizz

+0

Вы сказали, что у меня есть класс под названием NumFiles_. Вероятно, для оператора import в 'ImgClass' достаточно' import your.package.path.NumFiles', где 'package your.package.path' является самой верхней строкой в ​​вашем классе' NumFiles' –

Смежные вопросы