内部类
成员内部类
定义在一个类的成员位置,可以访问外部类的所有成员,包括私有成员。
public class Outer{
private String name;
class Inner{
public void method(){
System.out.println(name);
}
}
}
Outer.Inner in = new Outer().new Inner();
局部内部类
public class Outer{
public void method(){
class Inner{
}
//定义出来之后可以直接使用
Inner in = new Inner();
}
}
匿名内部类
是局部内部类的一种 没有类名的类
两个动作同时进行
定义一个类
创建这个类的对象
new 父类/接口(){
重写后的方法
}
定义了一个 父类的子类 这个类没有名字
创建了父类的子类对象
匿名对象
没有变量名的对象 只能使用一次 可以作为方法的实际参数 也可以作为方法的返回值
Person p = new Person(); 这个对象有名字 名字是p
new Person(); 这是一个匿名对象 并且 和p不是一个对象
new Person().setName("张三");
System.out.println(new Person().getName()); null 说明 匿名对象只能使用一次 |
|