2014-09-28 3 views
0
public class Player { 
} 

public class main { 
    public static void main(String []args) { 
     Player p1 ; 
     Player p2 = new Player(); 
    } 
} 

В следующей программе, какова разница между созданием переменной с помощью Player p1 и Player p2 = new Player(); ???Разница между этими двумя методами эталонных переменных

Я смущен в этой части.

Заранее спасибо

+0

Добро пожаловать на SO. Ява? Не могли бы вы арендовать читать [это руководство] (http://stackoverflow.com/help/mcve). –

ответ

2

Есть три части в создании объекта в классе.

Игрок p2 = новый Игрок(); 1.Declaration: The code set in bold are all variable declarations that associate a variable name with an object type. 2. Instantiation: The new keyword is a Java operator that creates the object. 3. Initialization: The new operator is followed by a call to a constructor, which initializes the new object.

когда вы говорите Игрок p1; как и на любом другом языке, вы просто создаете ссылочную переменную типа Player. Player p2=new Player();

здесь p2 был объявлен, инстанцирован и инициализирован.

Примечание: объект для p2 создается при использовании нового ключевого слова и всегда создается в кучевой памяти. Таким образом, вы можете работать со своими членами через операторы. (Dot).

1

P1 - это просто ссылка, объект не назначен (вы можете использовать его на более позднем этапе).
P2 - это ссылка на объект, назначенный через «новый плеер()».

1

Игрок p2 = новый Игрок(); использует конструктор в классе «Player» для инициализации p2.

Игрок p1; Это не создает новый объект Player.

http://msdn.microsoft.com/en-us/library/x9afc042.aspx читать Создание объектов сессии для получения дополнительной информации

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