我想从抽象类扩展泛型类型:
abstract class Foo {
public void doStuff() {}
}
public class Bar<T extends Foo> {
public void doFooBar(Foo param) {
/* Code here */
param.doStuff();
}
}
换句话说:类Bar应该使用泛型类型创建,它从Foo扩展而来。 Bar应该能够有方法,其中Foo是一个参数(因为泛型类型从Foo扩展,所以它应该是可能的)。 使用String oder BigDecimal这样的预定义类代替Foo,它到目前为止一直有用。但就我而言,Bar抱怨没有找到Foo课。 我正在使用Eclipse。
我错过了什么吗?
解: Foo必须是一个公共修饰语,而不是它的作用。我预计,抽象类默认是公共的(如Interfaces)。 Eclipse并没有抱怨缺少修饰符。
答案 0 :(得分:0)
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//SearchViewController
var vc = UIViewController()
vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Search") as! SearchViewController
//DetailViewController
var viewController = UIViewController()
titreDetail = "Boo"
viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Detail") as! DetailViewController
vc.showViewController(viewController, sender: nil)
})
是语法错误。
将其更正为
abstract class Foo() {
...
导致无编译错误。另外,请注意它应该是
abstract class Foo {
...
答案 1 :(得分:-1)
删除classname Foo后的()parantheses
abstract class Foo {
public void doStuff() {}
}