package oop.session3.Demo002;
//static
public class Student {
private static int age;//静态的变量
private double score;//非静态的变量
public void run() {
System.out.println("run");
go();
}
public static void go() {
System.out.println("go");
}
public static void main(String[] args) {
new Student().run();//非静态需要定义后调用,对象.方法
Student.go();//静态的直接调用
go();
// Student s1 = new Student();
// System.out.println(Student.age);//如果是静态的变量,推荐使用类名直接访问变量
// System.out.println(s1.age);
// System.out.println(s1.score);
}
}
package oop.session3.Demo002;
public class Person {
// {
// //代码块(匿名代码块),程序在执行的时候并不能主动调用这些模块
// //构造器之前get/set,属性私有
// }
// static {
// //代码块(匿名代码块)类加载就执行,永久只执行一次
// }
{
System.out.println("匿名代码块");//赋初始值
}
static {
System.out.println("静态代码块");
}
public Person() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person = new Person();
/*
输出结果:
静态、匿名、最后才是构造方法
*/
System.out.println("==========================");
//以下多New几次,静态中执行一次
Person person1 = new Person();
System.out.println("==========================");
Person person2 = new Person();
}
}
package oop.session3.Demo002;
import static java.lang.Math.random;//加一个静态static,就可以在main中直接用
import static java.lang.Math.PI;
public class Test {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}
注释:
finnal是类似断子绝孙的符号,如果建立了Student和Person,
public final class Person() {
}
public class Student() extends Person{
}
蓝色这一块就会报错,就不可以继承