Thinking in java(五)

1.包
1.在使用import导入多层次包时,只会导入当前包下的类,包下的子级目录(子包)中的类不会被导入;
2.包与包之间只有两种权限可以用,public protected(protected权限只能给不同的包中的子类使用,不同包中的其他类不能使用)
这里写图片描述

2.内部类
1.在外部类Outer中创建内部类: Outer.Inner in=new Outer.Inner();等同于Inner in=new Inner();
由于是在Outer自己类中创建Inner对象所以可以不写 Outer. 。而上述内部类的全名实际上是Outer.Inner;
2.public 修饰成员位置的内部类:在外部类外;Outer.Inner in=new Outer().new Inner();表示使用外部类的匿名对象new Outer()调用内部类的对象重新赋值给一个变量in。
3.Static修饰内部类 ,此时:如果我们想要在其他类中调用内部类中的一般函数(非静态函数),必须要使用内部类的对象来调用,所以我们要创建内部类的对象,创建方式:
new 内部类类名();———>new Outer.Inner();

局部内部类
这里写图片描述

原文地址:https://www.cnblogs.com/DiZhang/p/12545083.html