- 成员内部类
通过外部类访问内部类,则需要通过外部类创建内部类对象,
创建内部类对象的语法:
外部类名.内部类名 变量名=new 外部类名().new 内部类名();
- 局部内部类:
指定义在某个局部范围中的类,它与局部变量一样,都在方法中定义的,有效范围也只限于方法内部。局部内部类可以访问外部类的所有成员变量和方法,二局部内部类中变量和方法只能在所属方法中访问。
- 静态内部类:
就是使用static关键字修饰的成员内部类。只能访问外部类的静态成员,通过外部类访问静态内部类成员时,可以跳过外部类直接访问静态内部类。
创建静态内部类对象的基本语法:
外部类名.静态内部类名 变量名 = new 外部类名().静态内部类名();
- 匿名内部类:
是没有名称的内部类。
创建匿名内部类的基本语法格式如下:
new 父接口(){
//匿名内部类实现部分
}
举个例子:
public class TestShape{
public static void main(String[] args){
double r=100;//圆的半径
//使用匿名内部类实现方法area()
calArea(new Shape(){
public void area(){
System.out.println(“面积为:”+3.14*r*r);
}
});
}
//求面积的方法
public static void calArea(Shape shape){
shape.area();
}