Каково значение типа переменной, у которой есть то же имя, что и Ваш класс? [закрывшая]

У меня есть следующий код:

class Person {
     private Person variable; 
}

Я не понимаю, что он значит, что существовал признак Person внутри класса. Не предполагается, что я должен помещать тип как integer или string, и т.д.?

2
задан 19.12.2016, 03:44
6 ответов

В Java существуют два типа переменных:

  1. Примитивного типа: числового типа (ты сообщаешь: byte,short,int,long; плавающие: float,double), типа booleano (boolean) и типа характер (char).
  2. Типа снабди ссылками (или объектов, класса, нет единственного определения в литературе). Здесь находятся все типы, для которых определяется класс, согласно стандарту Java. Самый общий пример - класс String.

Когда Вы определяете класс в Java (как Ваш класс Person) смоги включать переменные любого типа как члены класса, например:

public class Persona {
    int edad;
    String nombre;
    float peso;
    Persona mejorAmigo;
    //...
}

Эти переменные внутри класса названы документацией 'полями'. Предыдущая часть кода определяет класс, который называет Человек, который содержит следующие поля:

  1. Изменчивый так называемый возраст типа int (примитивная: он будет хранить целые числа)
  2. Переменная, названная имя типа String (ссылки: он будет хранить представление цепи символов, рядом с большим количеством свойств и методов, чтобы действовать)
  3. Переменная, названная я вешу типа float (примитивная: он будет хранить плавающие числа)
  4. Переменная так называемый mejorAmigo типа Persona.

Поля класса могут быть любого типа, так примитивные как ссылки. И даже (как переменная так называемый mejorAmigo) они могут быть того же типа, что и класса, который определяется. А именно: в Java действительно в классе иметь поле, тип которого информации - тип того же класса. Во времени компиляции Java обнаруживает, что синтаксис правилен (и как уже он определил класс типа Он Является лично, составитель уже имеет вкус какого типа класса Persona ссылается поле mejorAmigo. Этот тип заявлений обычный в этом языке. Semánticamente значит, что объект типа Persona у него есть 'mejorAmigo', который также типа Persona, например.

4
ответ дан 24.11.2019, 12:02

Person одна я возражаю. Java содержит два типа данных. Примитивные (int, boolean, short, байт, и т.д.) и такие классы как String, объекты, созданные нами самими или объектами API Java. C# манипулирует тем же началом.

, Когда Объект класса содержит Объекты или типы данных, обозначает их aributos класса.

Пример:

public class Person { 
    private Person empleado;    // empleado es un objeto Person
    private int edad;           // edad es un tipo primitivo int.
    private String nombre;      // nombre es un objeto tipo string.

    ...
}  

Обрежь размещать из-за каждого класса тип, который ты хочешь, будьте примитивным типом или я возражаю. Уже завись от твоей необходимости

2
ответ дан 24.11.2019, 12:02

Чтобы видеть, в самом буквальном чувстве вопроса, это значит перекурсивную связь, например, рабочий, у которого есть начальник, оба объекты "Person".

Одинокий пример, может быть другая вещь, но когда есть объект внутри другого, который того же типа, - перекурсивная связь.

И нет, у них нет porqué быть Интехер, string, и т.д... Смоги быть любым типом информации, которая существовала бы, или в которую ты веришь, например 'Person' - тип информации, хотя ты это не поймешь довольно еще, любой класс, в который ты веришь, превращается в 'тип информации' из-за того, что это говорит легким способом.

string сохраняет цепи, глупый integer целые числа, 'Person' сохраняет люди.: ты понимаешь? у него нет большей науки.

Привет.

1
ответ дан 24.11.2019, 12:02

Java и C# они манипулируют двумя типами данных: Примитивные типы и Типы Из-за Ссылки.

  1. Примитивные типы: числовые целые числа (int, byte, и т.д.), числовые плавающей запятой (float и double, и decimal в C#, что использован для денежной стоимости), booleanos (bool) и характера (char). Эти типы только хранят стоимость, не могут содержать ссылки на место памяти.
  2. Типы Из-за Ссылки: они те, что составлены коллекцией примитивных типов или типов из-за ссылки или обоих, а именно, которые могут содержать более одной стоимости в Вашем внутреннем помещении. Это случай классов, которые содержат переменные, которые они снабжают ссылками в место в памяти, где хранится стоимость этой переменной в особенности (признаки в C#, поля в Java). Для того, чтобы он остался более ясным, это "контейнер" переменных между другими вещами, из-за того, что это говорит каким-то образом простая.

Как мы сказали, класса один TIPO (тип, определенный пользователем, но в конце концов, для составителя действительный), следовательно смоги быть использованным, чтобы определять переменную. Следовательно, определив переменную ТИПА Person, что мы говорим составителю, состоит в том, что эта переменная будет являться объектом типа Person, и действительный тип может использовать существо в заявлениях переменных (поля или признаки как язык, который ты выбираешь).

Я надеюсь, что он был понятен и осветлять сомнение.

0
ответ дан 24.11.2019, 12:02

Так как существуют типы данных primitivos, и clases, которые являются OBJETOS и объектами, могут быть типы данных tambiГ©n.

Возможно она confuciГіn здесь был бы: ВїporquГ© у одной clase есть переменная Вашего собственного типа?

Восток тип diseГ±os классов или объектов (давайте помнить, что класс - та representaciГіn объекта реальной жизни; в programaciГіn ориентируемая) они могут представать перед объектами. И смоги быть та soluciГіn для неких случаев, как я это показываю acontinuaciГіn оставаясь с примером класса, Явись лично:

Persona

id      int

nombre  String

edad    int

madre   Persona

padre   Persona

Тогда для diseГ±o этого класса, у того же класса есть два признака Вашего собственного типа, в этом случае definГ - признаки: мать и отец, которые tambiГ©n являются людьми.

, Не проникая больше в деталь с типами данных, и т.д., и т.д., я объясняю эту точку в специфическом средстве, которое является тем, что способствует тому, чтобы оказалась такой редкой вся тема.

0
ответ дан 24.11.2019, 12:02

Все дали превосходно объяснения на типе информации, но я вижу главным образом, что проблема - понимания, в случае класса явись лично, смоги содержать из-за ссылки на другого человека в гипотетическом случае отца и такого сына: У Сына есть ссылка на того, кто является Вашим отцом, и в другом случае отец podrГ, - чтобы иметь ссылку на Ваших детей, если бы это свойство было Списком или Договоренностью.

0
ответ дан 24.11.2019, 12:02

Теги

Похожие вопросы