public class qxy {
public static void main(String[] args) {
class person{
public void say() {
System.out.println("我是仙女");
}
}
person p=new person();
p.say();
}
}
我是仙女
局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限 于方法内或者该作用域内。 例如: class Person{ public Person() { } } class Man{ public Man(){ } public People getPerson(){ class Student extends People{ //局部内部类 int age =0; } return new Student(); } } 注意:局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及 static修饰符的。
匿名内部类
匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 }
public class qxy {
public static void main(String[] args) {
person p=new person() {
public void say() {
System.out.println("我是美女");
}
};
haha(p);
p.say();
}
public static void haha(person p) {
System.out.println("我是大仙女");
}
}
public interface person {
void say();
}
我是大仙女
我是美女