java基础面试题

1.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少        

​​Math.round(11.5)的返回值是 12Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数 上加 0.5 然后进行下取整。

2.flfloat f=3.4; 是否正确
不正确。 3.4 是双精度数,将双精度型( double )赋值给浮点型( flfloat )属于下转型( down
casting ,也称为窄化)会造成精度损失,因此需要强制类型转换 flfloat f =(flfloat)3.4; 或者写成 flfloat
f =3.4F;
3. short s1 = 1; s1 = s1 + 1; 有错吗 ?short s1 = 1; s1 += 1; 有错吗
对于 short s1 = 1; s1 = s1 + 1; 由于 1 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换
类型才能赋值给 short 型。
short s1 = 1; s1 += 1; 可以正确编译,因为 s1+= 1; 相当于 s1 = (short(s1 + 1); 其中有隐含的强
制类型转换。

 4.访问修饰符 public,private,protected,以及不写(默认)时的区别

private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
default ( 即缺省,什么也不写,不使用任何关键字) : 在同一包内可见,不使用任何修饰符。
使用对象:类、接口、变量、方法。
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类
(外部类)。
public : 对所有类可见。使用对象:类、接口、变量、方法

 5. &&&的区别

&运算符有两种用法:(1)按位与;(2)逻辑与。

&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端 的布尔值都是true 整个表达式的值才是 true&&之所以称为短路运算,是因为如果&&左边的表 达式的值是 false,右边的表达式会被直接短路掉,不会进行运算

 6.final 有什么用?

final 修饰的类不可以被继承
final 修饰的方法不可以被重写
final 修饰的变量不可以被改变,被 final 修饰不可变的是变量的引用,而不是引用指向的内容,
引用指向的内容是可以改变的
7. final finally finalize 区别
final 可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、
修饰变量表 示该变量是一个常量不能被重新赋值。
finally 一般作用在 try-catch 代码块中,在处理异常的时候,通常我们将一定要执行的代码方法
finally 代码块 中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代
码。
fifinalize 是一个方法,属于 Object 类的一个方法,而 Object 类是所有类的父类,该方法一般由垃圾
回收器来调 用,当我们调用 System.gc() 方法的时候,由垃圾回收器调用 fifinalize() ,回收垃圾,一 个对象是否可回收的 最后判断。
8. 构造器( constructor )是否可被重写( override

构造器不能被继承,因此不能被重写,但可以被重载。 

9.重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类 型进行区分?

 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是 运行时的多态性。

重载:发生在同一个类中,方法名相同参数列表不同(参数类型不同、个数不同、顺序不同),与 方法返回值和访问修饰符无关,即重载的方法不能根据返回类型进行区分

重写:发生在父子类中,方法名、参数列表必须相同,返回值小于等于父类,抛出的异常小于等于
父类,访问修饰符大于等于父类(里氏代换原则);如果父类方法访问修饰符为 private 则子类中
就不是重写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值