[英]Extended Queesion on "how to refer subclass variable without declaring that variable in parent class?"
public class Test {
public static void main(final String[] args) {
B b = new B();
System.out.println(b);
}
}
interface MyInterface<T> {
int getX();
}
abstract class A implements MyInterface {
@Override
public String toString() {
return String.valueOf(getX());
}
}
class B extends A, implements MyInterface<C> {
private static final int X = 10;
@Override
public int getX() {
return X;
}
}
class C {
// This is concrete class some
}
I am unable to enhance this interface with generic.我无法用通用来增强这个界面。 It is throwing error either at abstract class or at implementation class.它在抽象类或实现类中抛出错误。 How do I make it possible?我如何使它成为可能?
Do you mean something like this?你的意思是这样的吗?
public class Test {
public static void main(final String[] args) {
MyInterface b = new B();
System.out.println(b);
}
}
interface MyInterface<T> {
T getX();
}
abstract class A<T> implements MyInterface {
@Override
public String toString() {
return String.valueOf(getX());
}
}
class B extends A {
//private static final int X = 10;
private static final double X = 10;
//@Override
public Double getX() {
return X;
}
}
public class MyTest2 {
public static void main(final String[] args) {
B b = new B();
System.out.println(b);
}
}
interface MyInterface<T> {
int getX();
}
abstract class A<T> implements MyInterface {
@Override
public String toString() {
return String.valueOf(getX());
}
}
class B extends A<C> {
private static final int X = 10;
@Override
public int getX() {
return X;
}
}
class C {
// This is concrete class some
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.