Nin*_*nja 72 java interface instance anonymous-class inner-classes
是否可以在Java中创建接口实例?
在某处我读过使用内部匿名类,我们可以这样做,如下所示:
interface Test  
{  
    public void wish();  
}  
class Main  
{  
    public static void main(String[] args)  
    {  
        Test t=new Test()  
        {  
            public void wish()  
            {  
                System.out.println("output: hello how r u");  
            }  
        };  
    t.wish();  
    }  
}    
cmd> javac Main.java  
cmd> java Main  
output: hello how r u  
这是正确的吗?
Cha*_*dia 88
你永远不能在java中实例化一个接口.但是,您可以通过接口类型引用实现接口的对象.例如,
public interface A
{
}
public class B implements A
{
}
public static void main(String[] args)
{
    A test = new B();
    //A test = new A(); // wont compile
}
你上面做的是创建一个实现接口的Anonymous类.您正在创建一个Anonymous对象,而不是类型的对象interface Test.
小智 49
是的,你的例子是正确的.匿名类可以实现接口,这是我唯一能想到的,你会看到一个实现没有"implements"关键字的接口的类.在这里查看另一个代码示例:
interface ProgrammerInterview  {
    public void read();
}
class Website  {
    ProgrammerInterview p = new ProgrammerInterview () {
        public void read() {
            System.out.println("interface ProgrammerInterview class implementer");
       }
     };
}
这很好用.取自此页面:
http://www.programmerinterview.com/index.php/java-questions/anonymous-class-interface/
| 归档时间: | 
 | 
| 查看次数: | 180784 次 | 
| 最近记录: |