我目前正在使用二叉樹進行項目工作,並且已經從存儲庫獲取用於打印出樹的代碼。如何返回類型接口
長話短說,如果我可以在我的代碼中實現一個接口,它將打印出我想要的格式。
但是其中的一個需要接口類的異常返回。 (見下文)
@Override
public IBT getLeft() {
return null;
}
這是獲取左子樹的方法,其中IBT是二叉樹接口。
這是比我做它更簡單嗎?
返回接口的任何幫助?
我目前正在使用二叉樹進行項目工作,並且已經從存儲庫獲取用於打印出樹的代碼。如何返回類型接口
長話短說,如果我可以在我的代碼中實現一個接口,它將打印出我想要的格式。
但是其中的一個需要接口類的異常返回。 (見下文)
@Override
public IBT getLeft() {
return null;
}
這是獲取左子樹的方法,其中IBT是二叉樹接口。
這是比我做它更簡單嗎?
返回接口的任何幫助?
方法getLeft
可以返回實現(如果它是一個接口)IBT
或擴展IBT
(如果它是一個類)的任何類。
例如,說我有接口Foo
,和兩個實現,Fizz
和Buzz
:
public interface Foo { }
public class Fizz implements Foo {}
public class Buzz implements Foo {}
的Fizz
和Buzz
類現在可以代替Foo
使用,因爲它們實現Foo
接口。
現在說我有一種方法,要求我返回Foo
對象。
public interface Bar {
Foo getFoo();
Foo getAnotherFoo();
}
您不能直接創建一個Foo
對象,因爲它不是一個類。但是,您可以使用Fizz
和Buzz
類。
public class BarImpl implements Bar {
@Override
public Foo getFoo() {
return new Fizz();
}
@Override
public Foo getAnotherFoo() {
return new Buzz();
}
}
interface Foo{void display();}
public class TestFoo implements Foo
{void display(){System.out.println(「Hello World」);}
public static void main(String[] args){Foo foo = new TestFoo();foo.display();}}
我認爲這是有幫助的。
'TestFoo#display'需要爲'public',否則在分配較弱的訪問專用權時會出現編譯錯誤。你也應該使用'@ Override'註解 – flakes
您需要從實現接口的類中返回一個對象。 –