2014-01-08 5 views
0

Я новичок в программировании на Java и было просто интересно, если вы можете сделать это: У меня есть класс объекта Person:Java: атрибут массива в объекте

public class Person { 

    public String name; 
    public String[] friends; 
} 

Если да, как initialse его, т.е.

newPerson.name = "Max"; 
newPerson.friends = {"Tom", "Mike"}; 

Я попытался сделать это так, но это не сработает.

+2

Вам нужно создать экземпляр первого. '' 'Person p = new Person();' '' – NeplatnyUdaj

+2

Если вы новичок, то начните с изучения учебников Java. Вы не можете ожидать изучения Java, задав 500 вопросов о SO. –

ответ

6

попробовать это

new Person("Max", new String[]{"Tom", "Mike"}); 

Вы также нужен конструктор для инициализации переменных.

public Person(String name, String[] friends){ 
    this.name = name; 
    this.friends = friends; 
} 

Как хорошая практика, вы также должны ограничить уровень доступа к переменным в своем классе как частный. (Если не очень хорошая причина, чтобы сделать их достоянием общественности.)

+0

+1 для предложения конструктора. Вы можете упомянуть, что публикация полей не является хорошей практикой. – dasblinkenlight

+0

Почему не хорошая практика? – maximilliano

+0

посмотреть http://stackoverflow.com/questions/7622730/why-are-instance-variables-in-java-are-always-private – Ashish

1

попробовать

newPerson.friends = new String[]{"Tom", "Mike"}

1

Вы можете сделать это, как этот

public static class Person { 
    public String name;  
    public String[] friends; 
} 
public static void main(String[] args) { 
    Person newPerson = new Person(); 
    newPerson.name = "Max"; 
    newPerson.friends = new String[] {"Tom", "Mike"}; 
} 
1

Thats на самом деле довольно просто

U могут быть инициализированы при создании (это самый простой метод):

public class Person { 

     public String name = "Max"; 
     public String[] friends = {"Adam","Eve"}; 
} 

U может инициализировать переменные в конструкторе

public class Person { 
     public String name; 
     public String[] friends; 
     public Person(){ 
      name = "Max"; 
      friends = new String[] {"Adam", "Eve"}; 
     } 
} 
Смежные вопросы