instanceof关键字

简介: instanceof关键字

作用

判断一个对象是否是指定的类

void feedAnimal(Animal anim) {
    System.out.println(anim.getClass());
    anim.eat();
    /**
     1.类的强制类型转换:把父类对象赋值给子类类型
     2.instanceof : 判断一个对象是否是指定的类,
       如果是  返回 true  不是, 就返回  false
     */
    if(anim instanceof  Dog) {
        Dog dog = (Dog)anim;
        dog.doWork();
    }else if(anim instanceof Cat) {
        Cat cat = (Cat)anim;
        cat.watch();
    }
}

代码块

概念

在类中或方法当中 使用 {} 括起来的一段代码,就称它是一个代码块

总结

分类

局部代码块

直接定义在 方法内部 的代码块,在调用方法的时候执行

初始化代码块

直接在 类当中 定义代码块,初始化代码块在 运行时,还是要把它放到构造方法当中

静态代码块

在初始化代码块前面加上一个 static ,在什么时候执行:在加载字节码时就会自动调用,在主方法之前执行的。只执行一次

类加载问题

类的加载

当第一次创建该类对象的时候,加载到内存当中,在加载时,会执行 static 静态代码块

字段初始化问题

静态字段初始化:是在静态代码块当中初始化,非静态字段初始化:它是在构造器当中做的初始化

子类构造器默认会调用父类的构造器

相关文章
|
18天前
|
前端开发 JavaScript
|
3月前
|
存储 Java 编译器
关键字: final详解
掌握final关键字的使用对于Java程序员来说至关重要。它不仅能够提高程序的安全性和清晰性,还可以帮助编译器在一些情况下进行优化。恰当使用final可以使你的Java代码更加健壮、高效。
44 0
|
Java
关键字instanceof
关键字instanceof
43 0
|
6月前
|
C#
29.C#关键字throw初步学习
29.C#关键字throw初步学习
83 0
|
6月前
|
Java
JavaSE基础篇:instanceof关键字
JavaSE基础篇:instanceof关键字
|
Java 编译器 C#
C#中的override和new关键字
在 C# 中,派生类可以包含与基类方法同名的方法。 基类方法必须定义为 virtual。 如果派生类中的方法前面没有 new 或 override 关键字,则编译器将发出警告,该方法将有如存在 new 关键字一样执行操作。 如果派生类中的方法前面带有 new 关键字,则该方法被定义为独立于基类中的方法。 如果派生类中的方法前面带有 override 关键字,则派生类的对象将调用该方法,而不是调用基类方法。 可以从派生类中使用 base 关键字调用基类方法。
77 1
|
Java
关键字final
关键字final
45 0
final 和 finally 关键字
final 和 finally 关键字
66 0