Instanceof

Instance of

instance:引用类型,判断一个对象是什么类型

先看new的对方法,来判断那条线和谁是父子关系

Person person = new Student();

System.out.println(person instanceof Student);//True

System.out.println(person instanceof Teacher);//False

package OOP.demo06;

public class Student extends Person{
    public void go(){
        System.out.println("go");
    }

}
/*    public static void main(String[] args) {
        //Object——>Person——>Student
        //Object——> Person——>Teacher
        //Object——>String
        Object object = new Student();
        //引用的对象 instanceof 类
        先看new的对方法,来判断那条线和谁是父子关系
        System.out.println(object instanceof Student);//True
        System.out.println(object instanceof Object);//True
        System.out.println(object instanceof Person);//True
        System.out.println(object instanceof Teacher);//False
        System.out.println(object instanceof String);//False
        System.out.println("=============================");
        Person person = new Student();
        System.out.println(person instanceof Student);//True
        System.out.println(person instanceof Object);//True
        System.out.println(person instanceof Person);//True
        System.out.println(person instanceof Teacher);//False
        //System.out.println(person instanceof String);//False  编译报错
        System.out.println("=============================");
        Student student = new Student();
        System.out.println(student instanceof Student);//True
        System.out.println(student instanceof Object);//True
        System.out.println(student instanceof Person);//True
        //System.out.println(student instanceof Teacher);//编译报错
        //System.out.println(student instanceof String);//编译报错

    }

Static

Static对象与类一起产生,所以创建对象时先执行Static方法,其次是匿名代码块最后执行构造方法

注:Static方法类型只执行一次

package OOP.demo07;
public final class Person { //final之后断子绝孙
    //2.赋初始值
    {
        System.out.println("匿名代码块");
    }
    //1.只执行一次
    static {
        System.out.println("静态代码块");
    }
    //3.构造方法
    public Person(){
        System.out.println("构造方法");
    }
    //单纯的创建对象不执行类里面的方法
    public void say(){
        System.out.println("4545");
    }

    public static void main(String[] args) {
        Person person=new Person();
        System.out.println("===========================");
        Person person1 = new Person();//static类型只执行一次

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值