Java查漏补缺-小细节

导读:本篇文章讲解 Java查漏补缺-小细节,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.类型转换问题

public static void main(String args[]) {
        int num = 2147483647 ;
        num += 1L;//根据num的类型,先将1L转为int,然后再相加,故结果为-2147483648
        //long b = num + 1L;    // 根据b类型,将num升级为long类型,然后相加
//        int b = Integer.MAX_VALUE;  2147483647
//        int b = Integer.MIN_VALUE;  -2147483648
        System.out.println(num) ;
    }

 输出:-2147483648

 

2.逻辑运算,与运算(前边失败的,后边不会执行),或运算(前边成功的,后边也不会执行)

public static void main(String args[]) {
        boolean flag = 10%2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ;
        System.out.println(flag ? "mldn" : "yootk") ;
    }

 输出:yootk(10%2==1 为false,后边不会执行)

 

public static void main(String args[]) {
        boolean flag = 10%2 == 1 || 10 / 3 == 0 || 1 / 0 == 0 ;
        System.out.println(flag ? "mldn" : "yootk") ;
    }

 输出:Exception in thread “main” java.lang.ArithmeticException: / by zero

 

3.注解

(1)@Override:结构注解,防止覆写父类方法出现错误,在编译期就能意识到;

 

4.向下转型,需要用instanceof 判断实例是否为对应类的实例,防止隐患。

5.自动装箱和拆箱,构造包装类时,不需要调构造方法,在1.9版本中构造方法置为已过期

6.接口加强

  (1)接口主要包含静态变量和抽象方法

  (2)通常定义接口与实现类时,都需要先实现抽象类,然偶再实现具体实现类。以后接口增加新的公共方法,可以在抽象类中添加,不用每个实现类添加;

  (3)在1.8版本,对接口进行了加强,可以在接口中直接加普通方法,但需要用default修饰。该方法属于补救方法,最好使用(2)的设计

  (4)在1.8版本,还可以在接口中定义static方法,通过接口直接访问。

  (5)但注意,最好使用(2)中的方式定义。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16203.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!