java面试题常用知识点

一.Math类提供了三种与取整有关的方法:ceil,floor,round
ceil(天花板):向上取整
floor(地板):向下取整

round(四舍五入):即原来的数字加上0.5后在向下取整

二.Integer与int的区别
int是Java提供的8种基本数据类型之一。Integer是java为int提供的封装类。
int的默认值为0,Integer的默认值为null

三.是否可以从一个static方法内部发出对非static方法的调用?
不可以。因为static方法调用不需要创建对象,可以直接调用
而非static方法是要与对象关联在一起的,必须创建一个对象后,才可以进行方法调用

四.静态变量与实例变量的区别?
语法上:静态变量前要加static,而实例变量前不需要
程序运行上:静态变量直接使用类名来引用,实例变量必须创建对象后才可以通过对象使用

五.“==”和equals方法有什么区别?
==操作符用来判断基本数据类型的值和引用数据类型的地址是否相等
equals方法是用于比较两个独立对象的内容是否相同

六.使用final关键字修饰一个变量时,是引用变量不能变,还是引用的对象不能变?
引用变量不能变,引用变量所指向的对象中的内容是可以改变的。

七.Overload和Override的区别
Overload是重载的意思,Override是覆盖的意思
重载Overload表示同一个类中可以有多个名称相同的方法,但参数列表不同
重载需要注意:
1.在使用重载时只能通过不同的参数样式;
2.不能通过访问权限,返回类型,抛出的异常进行重载;
3.方法的异常类型和数目不会对重载造成影响;
4.对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会到达重载的效果
覆盖需要注意:
1.覆盖的方法的标志必须要和被覆盖的方法标志完全匹配,才能达到覆盖的效果;
2.覆盖的方法的返回值必须和被覆盖的方法的返回值一样;
3.覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4.被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
八.作用域public,private,protected以及不写时的区别

如果在修饰的元素上面没有写任何访问修饰符,则表示friendly

作用域    当前类 同一package子孙类 其他package

public    √     √          √       √

protected √     √          √      ×

friendly  √     √          ×      ×

private   √     ×          ×      ×


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值