每日知识点20181216

java

  • Arrays.deepToString(a):打印二维数组.

  • Java8开始时间使用Date类,日期使用LocalDate类.

  • 包内的类不能引用默认包中的类.

  • 内部类可以是私有类(private),而常规类只可以具有包可见性(default)或公有可见性(public).

  • 内部类不能有static方法.

  • 局部类不能用public或private访问说明符进行声明.

public class Father{

    public void method(final boolean flag){
        class FatherInner{
            public void inner(){
                if(flag){
                    System.out.println(flag);
                }
            }
        }
    }
}

该段代码编译后生成Father.class与Father$1FatherInner.class文件.反编译Father$1FatherInner.class后:

class Father$1Inner{
    public Father$1Inner(Father var1,boolean var2){
        this.this$0 = var1;
        this.val$flag = var2;
    }
    public void inner(){
        if(this.val$flag){
            System.out.println(this.val$flag)
        }
    }
    final boolean val$flag;
    final Father this$0;
}

  • 由于构造器的名字与类名相同,而匿名类没有类名,所以匿名类不能有构造器.
上一篇:重写于重载的区别


下一篇:super( )的用法