static 静态

static

静态变量和静态方法是和类一起加载的,访问时可以直接通过类名点调用。

非静态方法可以调用静态方法,但是静态方法不能调用非静态方法。因为静态方法是和类一起加载的,非静态方法只有在实例化后才能调用,在静态方法中调用非静态方法就相当于调用一个不存在的方法,会编译报错。

public class Teacher {
    private static int age;//静态变量随类一起加载;可直接通过类名点调用
    private String name;
    private void test() {
        test1();//非静态方法可以调用静态方法
        System.out.println("非静态方法test");
    }
    private static void test1() {//静态方法随类一起加载;可直接通过类名点调用
        System.out.println("静态方法test1");
    }
    public static void main(String[] args) {
        int age1 = Teacher.age;//可直接通过类名点调用
        System.out.println("age1=" + age1);
        Teacher.test1();//可直接通过类名点调用
        Teacher teacher = new Teacher();
        int age = teacher.age;
        String name = teacher.name;
        System.out.println("age="+age+",name="+name);
        teacher.test();
        teacher.test1();
    }
}
运行结果:
age1=0
静态方法test1
age=0,name=null
静态方法test1
非静态方法test
静态方法test1

静态代码块,匿名代码块,构造方法的执行顺序

static 静态

上一篇:(五)Python基础,字符串(上)


下一篇:OGG-字段符合特定条件,转换为某些特定字符,测试