Java知识点总结(三)

Java知识点总结(三)

承接上文知识点链接
Java知识点总结(二)

1.接口和抽象类有什么区别?

~实现:抽象类的子类使用extends来继承;接口必须使用implements来实现接口。
~构造函数:抽象类可以有构造函数;接口不能有。
~实现数量:类可以实现很多接口;但只能继承一个抽象类。
~访问修饰符:接口中的方法默认使用public修饰;抽象类中的方法可以任意的访问修饰符。

2.说明静态变量存在什么位置?

方法区

3.什么是类加载机制,双亲委派模型,好处是什么?

某个特定的类加载器在接收到加载器的请求时,首先将加载器任务委托给父类加载器,依次递归,如果父类加载器可以完成加载任务,就成功返回;只有父类加载器无法完成加载任务时,才自己去加载。
使用双亲委派模型的好处在于Java类睡着他的类加载器一起具备了一种带有优先级的层次关系。

4.Java中如何跳出当前的多重嵌套?

在最外层循环前加一个标记A,如果使用break A,可以跳出多重循环。

5.&和&&的区别?

~&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
~&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,NullPointerException异常。If(x == 33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31& 0x0f的结果为0x01。

6.为什么会出现4.0-3.6=0.40000001?

原因是因为:2进制小数无法精确的表达10进制小数,计算机在计算10进制小数的过程中要先转换为2进制进行计算,这个过程出现了误差。

7.Lambda表达式的优缺点?

优点:1.简介。2.非常容易计算。3.可以代表未来的变成趋势。
缺点:1.如不用于计算,很多时候计算速度没有传统的for循环快。(并行计算有时候需要预热才显示出效率优势)
2.不容易调试。
3.若其他程序员没有学过lambda表达式,代码不容易让其他的程序员看懂。

8.Files的常用方法有哪些?

~Files.exists():检测文件路径是否存在。
~Files.createFile():创建文件。
~Files.createDirectory():创建文件夹。
~Files.delete():删除一个文件或目录。
~Files.copy():复制文件。
~Files.move():移动文件。
~Files.size():查看文件个数。
~Files.read():读取文件。
~Files.write():写入文件。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值