InterfaceInAbstractClass.java
public abstract class InterfaceInAbstractClass {
public interface Inter{
void interface_method();
}
public void interface_abstract_class_method(Inter in){
}
}
InterfaceInAbstractClassImplementer.java
public class InterfaceInAbstractClassImplementer extends InterfaceInAbstractClass{
public static void main(String[] args){
// InterfaceInAbstractClass.Inter abcd = new InterfaceInAbstractClass.Inter() {
//
// @Override
// public void interface_method() {
// // TODO Auto-generated method stub
// System.out.println("An interface can be implemented ");
// }
// };
System.out.println("An interface can be implemented ");
InterfaceInAbstractClassImplementer abc = new InterfaceInAbstractClassImplementer();
abc.interface_abstract_class_method(new Inter() {
@Override
public void interface_method() {
// TODO Auto-generated method stub
System.out.println("An interface can be implemented within a class");
}
});
}
}
为什么 System.out.println("接口(interface)可以在类中实现");没有打印出来?
最佳答案
对实现类进行一些小调整以调用接口(interface)函数
public class InterfaceInAbstractClassImplementer extends InterfaceInAbstractClass{
public static void main(String[] args){
System.out.println("An interface can be implemented ");
InterfaceInAbstractClassImplementer abc = new InterfaceInAbstractClassImplementer();
Inter inter = new Inter() {
@Override
public void interface_method() {
// TODO Auto-generated method stub
System.out.println("An interface can be implemented within a class");
}
};
abc.interface_abstract_class_method(inter);
}
public void interface_abstract_class_method(Inter inter) {
inter.interface_method();
}
}
输出:
An interface can be implemented
An interface can be implemented within a class
关于java - 为什么参数定义方法匿名内部类的方法内部行有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37338397/