Java: Class4 Классы и объекты

Предупреждение: Данная статья является блоггером оригинальной статьи, следовать CC 4.0 BY-SA авторского соглашения, воспроизведенный, пожалуйста , приложите ссылку первоисточника и это утверждение.
Эта ссылка: https://blog.csdn.net/qq_43336822/article/details/95598730

1. класс: определение класса студента, класс студента в основном состоит из двух частей:

Что такое свойство :() класс Люди {
имя имя Строки,
возраст, внутр возраст; // атрибуты: Поле / переменный - членов / переменный экземпляр
Student ID

Поведение :( я могу сделать)
съесть
пустоту сна съесть () {} // Поведение: Метод
обучения}

Инстанцировать: Люди р = новые люди (); // открывает память

Конструктор: Люди () {} // недействительными и тому подобное не могут быть добавлены, т.е. не имеет возвращаемого значения

.New 2:
.. 1) , чтобы открыть память кучи
2) вызовите конструктор для инициализации переменных экземпляра.

3. Локальные переменные не могут быть использованы неинициализированными; неинициализированным элемент может быть использована.

4. Исходный файл не может иметь множество общего класса.

В 5.CMD вы можете увидеть процесс по JPS.

6. Метод определенные переменные не учитывают динамической памяти.
Student {класс
// класс заголовка: 8 байт
INT возраст = 20; // занимает 8 байт
}

7. Конструктор: Если нет конструктора, система автоматически предоставляет конструктор без аргументов, в то время как он писал конструктор, система больше не доступна.
1) имя конструктора должно быть таким же , как имя класса, в том числе капитализации;
.. 2) конструктор не имеет возвращаемого значения, не может привести к аннулированию , если изменения не осторожны , чтобы добавить передний обратный конструктор типа, то это будет сделать это конструкторы стали обычным методом, конструктор ошибки времени выполнения не может быть найден.
3. Класс определяет множество метод строительства, если конструктор не определен в определении класса, компилятор автоматически вставит конструктор по умолчанию без аргументов, конструктор не выполняет никакого кода.
4. Способ по конструкции могут быть перегружены с числом параметров, тип, заказа

8. Модификатор доступа:
общественность: общественность, каждый может использовать.
частные: частный, он может быть использован только в текущем классе.
пакет: тот же пакет может получить доступ к пути, это по умолчанию. Написанный в начале тока в необычных упаковках класса: import.package.src2 (package.src2 к опорному пути и т.п.)

Этот метод может быть использован в этом ключевом слове: это представляет объект, переданный в. // если есть конфликт имен, нам нужно добавить это ключевое слово, чтобы указать текущий объект

10. Строка передается функции, то функция добавлена ​​помните, если (ул == NULL) возвращение;

11. Копия объекта : клон (), должно быть добавлена к клону в методе класса Object () переписано:
Кроме того , чтобы добавить, после того, как класс кошка реализует Cloneable.
1) неполная копия совместного использования памяти, изменять друг друг об изменении атрибутов. Если атрибуты только в классе типа Int и String, вы можете использовать это.
в Реализует Cloneable Адрес {класс
ИНТ ID;
}
}
защищенных объектов (клон) бросает CloneNotSupportException {
возвращение к super.clone ();
}
2) глубокое копирование, устранение совместного использования памяти. Если включено в классе их собственного определения некоторых свойств, используйте это, в противном случае есть общая память.

class Address implements Cloneable{
        int id;
        @Override              //需要对这个特有的属性也进行clone的重载
        protected Object clone() throws CloneNotSupportedException {
            return super.clone();
        }
    }
    class Cat implements Cloneable{
        int age;
        Address address = new Address();
        @Override
        protected Object clone() throws CloneNotSupportedException {
        Object o =  super.clone();//
        Cat c = (Cat)o;
        c.address = (Address) this.address.clone();
        return c;  //返回的是对象
        }
    }

рекомендация

отblog.csdn.net/qq_43336822/article/details/95598730