JAVA

1.instanceof运算符是用来判断一个对象是否是指定类型的实例的。如果是指定类型的对象则返回true,否则返回false。

2.

下面代码的输出结果是什么?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

public class ZeroTest {

    public static void main(String[] args) {

     try{

       int i = 100 0;

       System.out.print(i);

      }catch(Exception e){

       System.out.print(1);

       throw new RuntimeException();

      }finally{

       System.out.print(2);

      }

      System.out.print(3);

     }

 }

1、inti = 100/ 0; 会出现异常,会抛出异常,System.out.print(i)不会执行,

2、catch捕捉异常,继续执行System.out.print(1);

3、当执行 thrownewRuntimeException();  又会抛出异常,这时,除了会执行finally中的代码,其他地方的代码都不会执行

 注:

还是需要理解Try...catch...finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了 。(throw抛出异常,让上级处理。会杀掉程序。finally还会继续执行)  如果catch中没有抛出RuntimeException,则执行结果为123。

输出:12

3. instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例

 4.

                被static修饰的语句或者变量有如下特点:

                1.随着类的加载而加载

                2.优先于对象存在

                3.被所有对象所共享

                4.可以直接被类名所调用

                使用注意:

                1.静态方法只能访问静态成员

                2.静态方法中不可以写this,super关键字

                3.主函数是静态的

静态代码块优先于主方法,且只执行一次

5.链接:

类的加载顺序

(1) 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法)

(2) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 )

(3) 父类非静态代码块( 包括非静态初始化块,非静态属性 )

(4) 父类构造函数

(5) 子类非静态代码块 ( 包括非静态初始化块,非静态属性 )

(6) 子类构造函数

其中:类中静态块按照声明顺序执行,并且(1)和(2)不需要调用new类实例的时候就执行了(意思就是在类加载到方法区的时候执行的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值