1、instanceof (类型转换)引用类型,判断一个对象是什么类型

2、static:用来修饰成员变量/成员方法
静态方法/静态属性: 静态方法和静态属性可以直接用类名进行调用。非静态方法/属性只能通过类对象进行调用

代码:

package oop;


//学生类
public class Student extends Person{

   private static int age;//静态属性
   private double score;//非静态属性
    public void run(){

    } //非静态方法

    public static void go(){
        go();
    } //静态方法

    public static void main(String[] args) {
        Student s1 = new Student(); //创建对象

        System.out.println(Student.age); //静态属性可以直接通过类名进行调用,建议用类名直接调用
        System.out.println(s1.score);//非静态属性需要通过类对象去调用
        System.out.println(s1.age);
        
        go();//可以直接调用静态方法
        
        new Student().run();//非静态方法需要通过类对象调用
    }
}

1、匿名代码块:和对象同时产生,一般用于赋初始值
2、静态代码块 :在类加载的时候产生,只执行一次
3、构造方法
加载顺序:2 1 3

代码:

package oop;

public class Person {
    //再加载匿名代码块
    {
        System.out.println("匿名代码块");
    }

    //先加载静态代码块
    static {
        System.out.println("静态代码块");
    }

    //最后加载构造方法
    public Person(){
        System.out.println("构造方法");
    }

    public static void main(String[] args) {
        Person p1 = new Person();
        System.out.println("==========================");
        Person p2 = new Person();
    }

}

运行结果:

Posted on 2021-12-25 19:26  阿黎~  阅读(21)  评论(0编辑  收藏  举报