成员内部类
- 内部类可以获取到外部类的私有属性
- 可以运行外部类的方法
public class Outer {
private int id = 22;
private void out() {
System.out.println("这是外部类的方法");
}
public class Inner {
public void in() {
// 内部类可以获取到外部类的私有属性
System.out.println("这是内部类的方法"+id);
// 可以运行外部类的方法
out();
}
}
public static void main(String[] args) {
Outer outer = new Outer();
Inner inner = outer.new Inner();
inner.in();
}
}
静态内部类
public class Outer {
private int id = 22;
private void out() {
System.out.println("这是外部类的方法");
}
public static class Inner {
public void in() {
System.out.println("这是内部类的方法");
}
}
}
局部内部类
public class Outer {
// 局部内部类
public void method() {
class Inner {
public void in() {
}
}
}
}
匿名内部类
public class Outer {
public void click() {
new OnClickListener() {
@Override
public void onClick() {
}
};
}
}
interface OnClickListener {
void onClick();
}
网友评论