javase回顾一

眼瞅着javase学了一遍了,但是博主还是有很多都很懵逼,所以打算回顾一下之前的知识,碰到了一些问题,在这里做一记录:

  1. 强制类型转换问题:
short a = 128;
byte b = (byte)a;
请问a和b的值是多少?
在java中byte1个字节    00000000
        short2个字节    00000000 00000000
        int4个字节
        long8个字节
所谓的强制类型转换,就是一个截取的问题,以本题为例:short转为byte,截去了前面的八位二进制,保留了后面的八位二进制
short128=00000000 10000000截取后为10000000,由于电脑中存的是二进制的补码(补码=(-原码)+1),此时求得反码为01111111,原码为10000000,最高位为符号位(1为负数0为正数),则对应十进制为-0或-128,由于没有-0,故为-128.

2.子类继承父类后,父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,非静态代码块,构造方法的运行顺序是?


答:父类的静态代码块->子类的静态代码块->父非静态代码块->父的构造->子的非静态代码块->子的构造

3.子类继承父类后,继承了父类的什么?

除了父类的构造和static方法外的所有方法和数据,包括父类的私有属性,只不过是无法访问罢了

4.volatile关键字

作用:保证不同线程对同一资源操作时的可见性,即volatile告诉jvm当前变量在寄存器(缓冲区)中的值是不可信的,要从内存中读取,从而保证在访问该变量时都是从内存读取的最新值。
注:不提供该数据修改的原子性保证,并且不会阻塞其它线程(不像synchronized会锁定当前变量,阻塞其它线程)

5.异常类

基类:Throwable
继承于Throwable的类:Exception(程序可处理异常)和error(程序无法处理的错误(非检查异常))
继承于Exception的类:RunTimeException(运行时异常,非检查异常)非运行时异常(检查异常)

针对检查异常java编译器要求要使用try-catch结构去捕获或者用throws抛出
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值