instanceof用法以及static拓展

instanceof用法以及static拓展

instanceof

instanceof用来比较两个类中是否存在关系

如果存在关系则返回 true 不存在关系就返回false

//建立三个不同的类  A B  B继承A  c没有继承也没有被继承

public class A{
}
public class B extends A{
}
public class c{
}
//调用instanceof方法判断是否存在关系
B b=new B();	//创建B 的对象
System.out.println(b instanceof A);     //判断b和A的关系    ture
System.out.println(b instanceof C);		//判断b和C的关系	  false

输出结果为:
    		true
            false

Static关键字拓展

static用来修饰静态方法和静态属性 这些属性和方法属于类 不属于实例和方法;

静态代码块和匿名代码块

  • 静态代码块和匿名代码块存在与类中 执行优先级都大于构造方法
  • 匿名代码块和构造方法在通过实例化可以被多次执行
  • 静态代码块只在类初始话时被执行一次 不会被重复执行
//创建三个代码块  顺序为 构造方法 > 匿名代码块 > 静态代码块
public class Test{
    Test(){
        System.out.println("我是构造方法");
    }
    //========================================
    {
        System.out.println("我是匿名代码块");
    }
    //========================================
   static {
       System.out.println("我是静态代码块");
   }
}
class a{
    public static void main(String[] args) {
        Test test=new Test();   //实例化      Test 
          System.out.println("================================"); 
        Test test1=new Test();  //再实例化一次 Test 
    }
}

输出结果为

	我是静态代码块         //执行结果顺序和编写顺序不一样 说明三种代码块有不同的优先级 和编写顺序无关
	我是匿名代码块
	我是构造方法
   ==================================
	我是匿名代码块        //在第二次实例化时 static代码块没有再次被执行 说明静态代码块只执行一次
	我是构造方法

三种代码块的执行顺序为:

静态代码块 > 匿名代码块 > 构造方法

静态导包

static修饰的属性和方法都可以直接通过类名调用

用static修饰外部包会怎么样呢?

我们来试试

//这是一个普通的调用 调用了lang包下的Math类中的random方法  随机数
public class test{
    public void test() {
        System.out.println(Math.random());    //random 属于一个静态方法 我们通过类名来调用这个方法
    }
//把这个方法设置成静态导入
import  static java.lang.Math.random;

public class test{
    public void test() {
        System.out.println(random());    //我们可以直接调用这个方法,而不用去通过类名调用
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值