一、内部类
将一个类定义在另一个类中或一个方法中,这样的类称为内部类。内部类的缺点是不好维护。
- 成员内部类:内部类可以无条件访问外部类的所有成员属性和方法
- 局部内部类:定义一个方法或者一个作用域里面的类
- 匿名内部类:编写事件监听代码常用。
- 静态内部类
二、private static
private static修饰成员变量,
private 限制了它的访问范围,只能在本类中被访问,
static 控制了它不需要实例化就可以访问,在类加载时就已经存在了,属于类,是一个私有的共享的数据。
非静态匿名内部类实例会持有父类的引用,这样如果父实例已经不再被用到,但子类还没结束,父实例因为被持有,所以不能被回收,这样就有可能会造成内存泄漏。
实例含义:
定义的NanG小区是不会随对象删除而消失,并且我们可以从getplotInstance()方法得到plot的值。
private static string plot="NanG";
public static string getplotInstance(){
return plot;
}
System.out.println("Dogs.plot="+Dogs.getplotInstance());