day2-Java面试(上)

一.final在Java中的作用,有哪些用法?

(1) final修饰,该类不可以被继承

(2) final修饰成员方法,该成员方法不可以被子类重写

(3) final修饰变量分成两种层面,如果修饰的是基本类型的变量,则基本类型变量的值不可以被修改(int),如果修饰的

引用数据类型(Order),则引用数据类型的引用地址值不可以被二次赋值。

  • final修饰成员变量,成员变量要么在声明时赋值,要么在所有的构造方法中出现被赋值。

  • final修饰局部变量,局部变量只可以被赋值一次,可以在声明时赋值,也可以先声明再赋值。

二.static关键字有什么作用?

(1) 修饰成员变量,会在类加载的链接阶段就进行初始化,而且所有对象都共享同一份成员变量,静态变量

属于类,可以通过类名.静态变量名访问,也可以通过对象名.静态变量名访问。

实际上更多情况下静态变量都是为了本类的静态方法而存在的。

(2) 修饰成员方法,静态方法可以直接被类名调用,一般会作为工具类的方法存在。

(3) 静态内部类,可以直接通过在外部类中封装一些属性和方法,并且被外部类的静态内容访问。

(4) 静态代码块,会在类加载的时候执行一次,一般用于初始化一些数据

(5) 静态导包,可以直接将静态方法导入到某个类中,在本类中使用导入类的静态方法不需要加类名,直接使

用即可。

三.String str="aaa",与String str = new String("aaa")一样吗?

str都是aaa,但是第一种情况只会在字符串常量池中存在,在堆内存中不存在,所以有可能创建一个对

象,也有可能不创建对象(在常量池已存在的情况下)。

第二种情况先在堆内存中开辟空间,然后再去常量池中判断是否存在aaa内容,所以有可能创建一个对象

也有可能创建两个对象。

四.Java中的包装类都是那些?

int对应Integer,byte对应Byte,short对应Short,long对应Long,float对应Float,double对应

Double,boolean对应Boolean,char对应Character

五.针对浮点型数据运算出现的误差的问题,怎么解决?

使用BigDecimal类浮点类型转换为String类型之后包装为对象,通过对应的成员方法

(add/subtract/multiply/divide)进行操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值