java编程思想第4版(易错点整理)

今天看java编程思想,发现有些知识跟自己以前学的不一样,记录下来以供日后复习...

有错误的地方欢迎大家留言或者+qq跟我说:714588944(备注一下,谢谢)

持续更新~~

1.首先改正一下我一直以来的错误观点,==是比较对象的地址,equals()默认也是比较对象的地址

Integer a = new Integer(55);
Integer b = new Integer(55);
System.out.println(a.equals(b));

结果是true,因为这里包装类Integer已经帮我们重写了equals(); 所以这里a.equals(b)比较的是a和b的内容

但是事情并没那么简单,假设创建了自己的类:

public static void main(String[] args) throws Exception {
Dog dog1 = new Dog();
Dog dog2 = new Dog();
dog1.name = "yang";
dog2.name = "yang";
System.out.println(dog1.equals(dog2));
}

答案是false,这里equals比较的是地址,不是内容,因为这个类是自己定义的并没有重写equals方法,equals默认比较的是地址

2. Math.round是在数字上加了0.5,然后向下转型(就是通常说的四舍五入)

System.out.println(Math.round(5.5));//6
System.out.println(Math.round(-5.5));//-5
System.out.println(Math.round(-5.6));//-6
System.out.println(Math.round(-5.2));//-5
System.out.println(Math.round(-5.8));//-6

3.初始化顺序,先执行static静态的,并且只在类加载时执行一次,父类再子类



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值