1. Основные типы данных
Пластическая хирургия:
байт 1 байт
короткие 2 байта
целое число 4 байта
длинные 8 байт
характер:
символ 2 байта
Число с плавающей запятой:
с плавающей запятой 4 байта
двойные 8 байт
Логическое значение:
логическое значение 1 байт
2.java 7 добавляет новые двоичные целые числа
Начните с 0b или 0B
3. Символы в Java представляют собой 16-битную кодировку Unicode, формат «/uXXXX», где xxxx представляет собой шестнадцатеричное целое число.
4. Java предусматривает положительную бесконечность, отрицательную бесконечность и ноль.
Положительная бесконечность = положительное число, разделенное на 0.
Отрицательная бесконечность = отрицательное число, разделенное на ноль.
Разделите 0,0 на 0,0 или извлеките квадратный корень из отрицательного числа, чтобы получить нечисло.
5. Логические типы в Java могут быть только истинными и ложными.
6. В Java нет многомерного массива
Кажется, что многомерные массивы в языке C не являются реальными массивами. Например, a[3][4], a[0] a[1] a[2] являются реальными, и они заполнены адресами, и являются динамическими в языке C. То же, что и массив, выделенный как.
int [][] b = новый int[3][4]
7. Метод компиляции с пакетом на Java
javac -d Hello.java сгенерирует дерево каталогов в текущем каталоге.
Запустить имя пакета Java.имя класса
8. Поле объектов в полиморфизме Java не имеет полиморфизма, например, родительский класс object = новый подкласс (), object.field называется родительским классом, даже если поле покрыто подклассом.
9. оператор экземпляра
Формат: Имя ссылочной переменной имя экземпляра класса (или интерфейса). Он используется для определения того, является ли предыдущий объект экземпляром класса, подкласса или класса реализации следующего объекта. Если да, он возвращает true, в противном случае — false.
10. Преобразование между базовыми типами данных и соответствующими классами инкапсуляции в Java
интервал а = 1;
Целое число A = новое целое число (a);
а = A.intValue();
То же самое касается и других типов.
11. Пример класса Singleton
public static void main(String[] args)
{
Синглтон s1 = Синглтон.getInstance();
Синглтон s2 = Синглтон.getInstance();
System.out.println(s1 == s2);
}
}
Поле класса: начальное значение должно быть указано в статическом блоке инициализации или при объявлении поля.
Поле экземпляра: должно быть объявлено в нестатическом блоке инициализации или путем указания начального значения или конструктора при объявлении поля.
13. Конечные переменные должны быть инициализированы явно. Система не будет неявно инициализировать конечные переменные.
14.java будет использовать пул констант для управления прямыми строковыми константами, которые использовались ранее, например: String a = "java"; система сохранит константную строку "java" в пуле констант, и когда String b = "java" выполняется снова, a == b истинно
15. Финальные методы не могут быть переопределены, а конечные классы не могут быть унаследованы.
Если используется частный метод, он аналогичен окончательному частному.
Если метод, модифицированный с помощью Final, появляется в подклассе, он определяется подклассом заново и не имеет ничего общего с родительским классом.
16. Неизменяемый класс: поле этого класса нельзя изменить после создания. Java предоставляет восемь основных классов-оболочек переменных, а классы строк являются неизменяемыми.
17. Неизменяемые классы, кэширующие экземпляры
общедоступное логическое равенство (Object obj)
{
если (это == объект)
вернуть истину;
if(obj != null && obj.getClass() == CacheImmutale.class)
{
CacheImmutale ci = (CacheImmutale)obj;
вернуть name.equals(ci.getName());
}
вернуть ложь;
}
общедоступный int hashCode()
{
вернуть имя.hashCode();
}
}
общедоступный класс CacheImmuteTest
{
public static void main(String[] args)
{
CacheImmutale c1 = CacheImmutale.valueOf("Привет");
CacheImmutale c2 = CacheImmutale.valueOf("Привет");
System.out.println(c1 == c2);
}
}
Существует также java.lang.Integer, предоставляемый Java, который использует механизм кэширования для создания чисел в диапазоне -128-127.
Целое число in2 = Integer.valueOf(6);
Целое число in3 = Integer.valueOf(6);
in2 == in3 верно;
18. Статический и абстрактный метод не могут изменять метод одновременно. Не существует абстрактного метода класса.
19. Класс может иметь родительский класс и реализовывать несколько интерфейсов. В интерфейсе Filed является общедоступным, статическим и окончательным, а метод является общедоступным абстрактным.
20. Когда метод нестатического внутреннего класса обращается к переменной, порядок поиска следующий: сначала внутри метода во внутреннем классе -> внутренний класс -> если не найден во внешнем классе, произойдет ошибка компиляции.
публичный класс DiscernVariable
{
Private String prop = "Переменная экземпляра внешнего класса";
частный класс InClass
{
Private String prop = "Переменная экземпляра внутреннего класса";
публичная недействительная информация()
{
String prop = «локальная переменная»;
System.out.println("Значение поля внешнего класса: " + DiscernVariable.this.prop);
System.out.println("Значение поля внутреннего класса: " + this.prop);
System.out.println("Значение локальной переменной: " + prop);
}
}
публичный тест на недействительность()
{
InClass в = новый InClass();
в.информация();
}
public static void main(String[] args)
{
новая DiscernVariable().test();
}
}
22. Доступ к внутренним классам за пределами внешних классов
Доступ к нестатическим внутренним классам: outclass.Inclass varname = new outclass().new InClass();
Доступ к статическим внутренним классам: outclass.Inclass varname = new outclass.Inclass();
класс Out
{
классВ
{
publicIn()
{
System.out.println("Нестатический внутренний конструктор класса");
}
}
}
публичный классCreatInnerInstance
{
public static void main(String[] args)
{
Out.In in = новый Out().new In();
/*
Приведенный выше код можно записать отдельно как:
Выход.Вход;
Выход = новый Выход ();
в = out.new In();
*/
}
}
класс SubClass расширяет Out.In
{
//Отображение конструктора, определяющего подкласс
публичный подкласс (выход)
{
//Отображение конструктора, вызывающего In через переданный объект Out
выход.супер();
}
}
класс Статикаут
{
статический класс StaticIn
{
общественный СтатикИн()
{
System.out.println("статический внутренний конструктор класса");
}
}
}
публичный класс CreatStaticInnerInstance
{
public static void main(String[] args)
{
StaticOut.StaticIn in = новый StaticOut.StaticIn();
/*
Приведенный выше код можно записать отдельно как:
StaticOut.StaticIn вход;
в = новый StaticOut.StaticIn();
*/
}
}
класс SubClass расширяет StaticOut.StaticIn
{
//Нет необходимости создавать экземпляр внутреннего класса
}