局部内部类 匿名内部类

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();
}
我是大仙女
我是美女

猜你喜欢

转载自blog.csdn.net/weixin_43762083/article/details/119808441