instanceof、对象类型转化、static关键字

instanceof 与 对象类型转换

  • instanceof是判断一个对象是否与一个类有关系的关键字

instanceof、对象类型转化、static关键字_第1张图片instanceof、对象类型转化、static关键字_第2张图片 

  • 先看引用类型,再看实际类型

  • *例子:obj instanceof A

  • 先看obj的类型是否与A有关联,无关联则报错,有关联则判断obj的实际类型

  • 因为obj的实际类型是son,所以String类与他无关,所以返回false

对象类型转换:

  • 发生在父子之间,子类转父类自动转换,父类转子类则需要强制转换

Student exteds Person
Person stu = new Student(); //子类对象转为父类,自动转换
Student student = (Student) stu //父类对象转化为子类,强制转换,为了方便方法的调用

static关键字

  • static关键字可用于修饰属性、方法

静态属性:

public static int num;

静态方法:

public void static main(){}

静态与非静态有啥区别呢?

  • 我们可通过类名直接调用静态方法或者静态变量,非静态方法或变量则是要通过对象来调用

instanceof、对象类型转化、static关键字_第3张图片instanceof、对象类型转化、static关键字_第4张图片 

静态代码块

static{
    
}
  • 用于初始化操作,最先执行且只执行一次

instanceof、对象类型转化、static关键字_第5张图片instanceof、对象类型转化、static关键字_第6张图片 

我们分别创建了两个对象,第一对象创建时,静态代码块运行了,第二次创建对象时就不运行了

静态导入包

import static java.lang.Math.random;

与普通导入包不同的是,静态导入的random可直接使用,不再需要写Math.random

instanceof、对象类型转化、static关键字_第7张图片instanceof、对象类型转化、static关键字_第8张图片 

你可能感兴趣的:(java基础,java,开发语言)