static
static修饰的属性调用的区别
package Demo04;
public class Student extends Person {
public static int age;
public String name;
public static void main(String[] args) {
Student student=new Student();
System.out.println(student.name);
System.out.println(student.age);
System.out.println(Student.age);
System.out.println(age);
}
}
static修饰的方法调用的区别
package Demo04;
public class Student extends Person {
public static void go(){
System.out.println("go");
}
public void run(){
System.out.println("run");
}
public static void main(String[] args) {
Student student = new Student();
student.go();
student.run();
Student.go();
go();
}
}
代码块
package Demo04;
public class Teacher extends Person{
{
System.out.println("匿名代码块");
}
static {
System.out.println("静态代码块");
}
public Teacher() {
System.out.println("无参构造");
}
public static void main(String[] args) {
Teacher teacher = new Teacher();
System.out.println("================");
Teacher teacher2 = new Teacher();
}
}
静态导入包
package Demo04;
import static java.lang.Math.random;
public class Teacher extends Person{
public static void main(String[] args) {
System.out.println(random());
}
}