Можно ли создать объект для интерфейса, не реализуя это ни одним из классов в Java? - PullRequest
0 голосов
/ 12 марта 2010

Itest - это интерфейс. здесь я упоминал как новый Itest (). Тогда это означает, что я могу создать объект для интерфейса?

public interface Itest {


}
static final Itest s = new Itest(){
}; 

Это похоже на то, что мы могли бы создать объект для интерфейса без какого-либо класса, реализующего интерфейс.

Ответы [ 2 ]

2 голосов
/ 12 марта 2010

Звучит так, как будто вы ищете анонимные классы .

Они чаще всего используются примерно так:

interface Something { void execute(); }

// In some code...
setSomething(new Something() {
   public void execute() { 
       // Your code here
   }
});
0 голосов
/ 21 декабря 2010
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{      
    interface ISampleInterface
    {
        void SampleMethod();
    }

    class ImplementationClass : ISampleInterface
    {
        // Explicit interface member implementation: 
       public void SampleMethod()
        {
            // Method implementation.
            Console.Write("Interface implements");  
        }

        static void Main(string[] args)
        {
            // Declare an interface instance.
            ISampleInterface obj = new ImplementationClass();

            // Call the member.
            obj.SampleMethod();
            ImplementationClass a = new ImplementationClass();
            a.SampleMethod();
            ISampleInterface b = (ISampleInterface)a;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...