基本数据类型与访问修饰符

基本数据类型与访问修饰符


Q1:Java的数据类型有哪些?



Q2:访问权限修饰符 public、private、protected, 以及不写(默认)时的区别?



Q3:接口和抽象类有什么区别?


  • 实现:
    1、抽象类的子类通过extends来继承
    2、接口必须使用implements来实现接口

  • 构造函数
    1、抽象类可以有构造函数
    2、接口没有

  • main方法
    1、抽象类有main方法,而且可以运行
    2、接口中没有main方法

  • 实现数量:类中可以实现多个接口,但只能继承一个抽象类

  • 访问修饰符
    1、接口中的方法默认使用public修饰符
    2、抽象类的方法可以是任意访问修饰符


Q4:final, finally, finalize 的区别?


  • final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
  • finally:是异常处理语句结构的一部分,表示总是执行。
  • finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾回收时的其他资源回收,例如关闭文件等。JVM不保证此方法被调用。

Q5:抽象类能用final修饰吗?


  • 不能。定义抽象类就是让其他类继承的,如果定义为final,该类就不能被继承,这样彼此就会产生矛盾,所以final不能修饰抽象类。

Q6:为什么不能用浮点型表示金额?


  • 由于计算机中保存的小数点其实是十进制的小数的近似值,并不是准确值,所以,千万不要在代码中使用浮点数来表示金额等的重要的指标。
  • 建议使用BigDecimal或者Long(单位为分)来表示金额。

Q7:int和Integer有什么区别?


  • int是Java提供的8种原始数据类型之一。
  • Java为每个原始数据类型提供了封装类,Integer是Java为int提供的封装类。
  • int的默认值为0,而integer的默认值为null,是引用类型,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。
  • Java中的int和Integer关系如下:
    1、int是基本数据类型;
    2、Integer是int的封装;
    3、int和Integer都可以表示某一个数值;
    4、int和Integer都不能互用,因为他们是两种不同的数据类型。

Q8:char型变量中能不能存储一个中文汉字,为什么?


  • char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特),所以放一个中文是没问题的。

结语:每天更新(别忘打赏!!!)


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2113132982@qq.com

文章标题:基本数据类型与访问修饰符

文章字数:727

本文作者:南邮石磊

发布时间:2020-09-20, 15:46:46

最后更新:2020-09-21, 21:49:23

原始链接:https://southpost.github.io/2020/09/20/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E4%B8%8E%E8%AE%BF%E9%97%AE%E4%BF%AE%E9%A5%B0%E7%AC%A6/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏