Itest是一个界面。在这里我提到了新的Itest()。那么这是否意味着我可以为界面创建对象?
public interface Itest {
}
static final Itest s = new Itest(){
};
就像我们可以为接口创建对象而没有任何类实现接口。
答案 0 :(得分:2)
听起来你正在寻找的是anonymous classes。
它们最常用的是:
interface Something { void execute(); }
// In some code...
setSomething(new Something() {
public void execute() {
// Your code here
}
});
答案 1 :(得分:0)
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;
}
}
}