
public class Imports {
public void read(Files files) {
Paths.get("name");
}
}Классы
Files и Paths находятся в одном пакете java.nio.fileSize: a a a

public class Imports {
public void read(Files files) {
Paths.get("name");
}
}Files и Paths находятся в одном пакете java.nio.file
import java.nio.files.*;import java.nio.files.Files;import java.nio.files.Paths;import java.nio.*; подпакеты не импортируютсяimport java.nio.*.*; можно использовать только одно сокращение с символом *import java.nio.files.Paths.*; нельзя импортировать методы, только классы

X переменная Y и класс Y находятся в одном скоупе. По спецификации в таком случае переменная имеет больший приоритет.

null к нужному типу и обратиться к статической переменной классаSystem.out.println(((X.Y) null).Z);static class XY extends X.Y {};System.out.println(XY.Z); public static <T extends X.Y> void main(String[] args) {
System.out.println(T.Z)
}











Thread, но не запускаем его с помощью метода start. Вместо этого основной поток вызывает метод run экземпляра Thread, который выполняется синхронно в основном потоке. Так как одному объекту разрешено повторно получать один и тот же монитор, основной поток получает монитор на BlackWhite.class, когда метод run вызывает метод printBlack. Чтобы запустить новый поток, нужно вызвать метод start класса Thread. Если в программе заменить t.run на t.start, то программа всегда будет печатать "WhiteBlack", так как новый поток не сможет приступить к выполнению, пока главный поток не завершится и не отпустит блокировку. 
Random r = new Random(); Переменная r ссылается на новый объект типа Random. Запись Random(), которая используется вместе с ключевым словом new, выглядит как метод и является конструктором.public class JavaDev {
public JavaDev() {
// constructor
}
}
public void JavaDev() { } является методом, но не конструктором. И такой метод не вызовется, если написать new JavaDev().class Student {
int age = 16;
String name;
public Student(String name) {
this.name = name;
}
}
int i = 123; литералом будет число 123. По умолчанию целочисленные литералы в Джаве определены типом int. Поэтому нужно быть аккуратным при записи чисел, которые выходят за диапазоны int. Например, максимальное значение int равно 2,147,483,647. Проверить это можно следующей строкой System.out.println(Integer.MAX_VALUE);long max = 3123456789; И получаю ошибку компиляции. Чтобы Джава поняла, что литерал не int, а long, нужно в конце числа написать дописать букву L: long max = 3123456789L;long max = 3_123_456_789L;System.out.println(56); // 56System.out.println(0b11); // 3System.out.println(017); // 15System.out.println(0x1F); // 31