/*
* 匿名内部类要作为参数传递的前提:
* 有类、抽象类、或者接口存在时,用父类引用来创建匿名对象。
* 一般当一个方法上有接口或者抽象类作为参数数,就用匿名内部类来实现。
*/
//定义个接口
interface name {
// 定义一个抽象的获取名字的方法
public abstract String getName();
}
public class NiMing {//主函数调用
public static void main(String[] args) {
showName();
}
// 定义一个输出名字的方法,通过匿名内部类把名字传入。
public static void showName() { //相当于把接口作为形参
//用一个字符串记录匿名内部类返回的姓名
String name = new name() { //new inter()创建匿名对象,{}花括号里
public String getName() { //的内容是在实现接口方法,也就是可以把
return "张三"; //new inter(){包括里面内容}看做一个匿名
} //对象
}.getName(); //最后用对象.getName()来调用方法。
System.out.println(name);
}
}
|