Itest是一個接口。這裏我提到像新的Itest()。那麼這是否意味着我可以爲接口創建對象?是否有可能爲接口創建對象,而無需通過java中的任何類實現此目標?
public interface Itest {
}
static final Itest s = new Itest(){
};
這就好比,我們可以爲沒有任何類實現接口的接口創建對象。
Itest是一個接口。這裏我提到像新的Itest()。那麼這是否意味着我可以爲接口創建對象?是否有可能爲接口創建對象,而無需通過java中的任何類實現此目標?
public interface Itest {
}
static final Itest s = new Itest(){
};
這就好比,我們可以爲沒有任何類實現接口的接口創建對象。
這聽起來像你在找什麼是anonymous classes。
他們最常用的是這樣的:
interface Something { void execute(); }
// In some code...
setSomething(new Something() {
public void execute() {
// Your code here
}
});
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;
}
}
}
這看起來像C#代碼。這個問題是關於Java的。 – 2017-07-08 12:18:45
如果要測試你需要嘲諷。尋找一個嘲笑庫作爲jMock。 – onof 2010-03-12 10:44:45