日期:2014-05-20  浏览次数:20808 次

大神快来帮帮我吧
定义一个 IShowable接口,其中包含抽象方法 void show(); 
定义Test类,并提供方法 void showObject(IShowable obj),该方法用于显示参数obj对象的内容;
要求:定义一个成员内部类Employee,该类实现IShowable接口,show方法显示员工信息;
定义一个局部内部类Manager ,该类实现IShowable接口,show方法显示管理人员信息; 
测试:在Test类的main方法中构造员工类对象和管理人员对象,并调用showObject方法显示每个对象的信息。然后基于IShowable接口构造一个局部匿名内部类对象,将此对象传入showObject()方法显示其内容。

------解决方案--------------------


public interface IShowable {
public void show();
}

public class Test {
public void showObject(IShowable obj){
obj.show();
}
class Employee implements IShowable{
@Override
public void show() {
System.out.println("我是员工");
}
}
public IShowable getManager(){
return new IShowable(){

@Override
public void show() {
System.out.println("我是管理员");
}

};
}
public static void main(String[] args) {
Test test = new Test();
IShowable showable1 = test.new Employee();
IShowable showable2 = test.getManager();
test.showObject(showable1);
test.showObject(showable2);
test.showObject(new IShowable() {

@Override
public void show() {
System.out.println("我是匿名内部类");
}
});
}
}



是这样的吗?