java
内部类相关静态与非静态的底层待研究
静态内部类可以在除外部类以外的类中实例化,比如Builder模式
非静态的内部类只能在外部类中实例化,且只能在非静态方法中实例化,
非静态内部类可以声明静态变量,也可以在静态块中被声明,但无法同时被实例化
内部接口默认都是静态的且必须是静态的
匿名内部类和局部变量的关系lambda的实现与匿名内部类有关系,简单地说,匿名内部类可能会比它所在的方法的存活时间还长,这样的话,他想要调用的局部变量会因为方法的结束出栈而消失,则会出现问题,故如果需要使用局部变量,需要是final的(如果不是final,编译器在编译的时候会变为final,如果在匿名内部类使用之后对该变量做修改,则编译不通过),这样匿名内部类会复制一份改局部变量与自己共同存活。
内部类的访问修饰符private修饰的内部类及其中嵌套的private内部类能且只能在其所属的外部类及其包含的所有内部类中访问
12345678910111213141516@Componentpublic class TreeService { public static FileTree fil ...
Java中除法结果的类型
代码123456789101112131415161718192021222324252627public class TTESSTT { public static void main(String []args) { int i0 = 15; int i1 = 10; double i2 = 15.0; double i3 = 10.0; Object j0 = i0 / i1; Object j1 = i0 / i3; Object j2 = i2 / i3; Object j3 = i2 / i1; Object j4 = i1 / i0; System.out.println( "j0:"+j0+" "+j0.getClass()+ "\nj1:"+j1+" "+j1.getClass()+ "\nj2:"+j2+" "+j2.getClass()+ "\nj3:" ...