你设置一个接口 里面的方法传出参数为类A, 现在你需要传出一个A的子类(如B)。有办法可以实现吗?
class A{
private int a = 1;
}interface base{
public A test();
}
class B extends A{
private int b = 1;
}
class A{
private int a = 1;
}interface base{
public A test();
}
class B extends A{
private int b = 1;
}
解决方案 »
- solr分页
- 数据库不可更新
- 长春鸿达公司怎么样啊??面试难吗,请有过经历的人给小弟传授一些经验啊!!
- jdk开发学生信息管理系统的用户界面遇到的问题
- 紧急求救!!vrml与java连接问题
- 请教一个hashtable的问题
- 哪位大哥有SWT Designer Pro 的 Serial Number?????
- 大家帮帮我啊!电脑启动不起来了!!散分!(不好意思,在java版里问这样的问题,心急如焚啊!)
- 如何做到在结果集中查询?使用JBuilder,结果集使用QueryDataSet类
- 接口 serialized 拿来干什么用的?
- 请问父类声明实现一个接口,但子类又声明实现同一个接口有什么意义?
- java中for循环的三个表达式问题
public static void main(String[] args) {
base test = new impl();
A A = test.test();
// System.out.println(A.b);
System.out.println(A.a);
}
}interface base{
public A test();
}class A{
public int a = 1;
}
class B extends A{
public int b = 3;
}class impl implements base{
public B test(){
B b = new B();
b.b = 10;
b.a = 4;
return b;
}
}
class A {
public int a = 1;
}class B extends A {
public int b = 2;
}interface base{
public A test();
}public class Test2 implements base{
@Override
public A test() {
return new B();
}
public static void main(String[] args) {
base base = new Test2();
B b = (B)base.test();
System.out.println(b.b);
}
}
但是多态的话,类B新加的参数就不会有了。现在有什么办法吗
有能听懂楼主这段话描述意思的人么?我在4楼的代码如果不是这个意思,俺是真听不懂了。
楼主的意思是,有一个类A,A有一个成员变量,能通过一个接口传出这个成员变量。现在想要扩展类A,让A能多一个成员变量,但是A不能修改,所以想用另一个类B去继承A,在B里增加成员变量,再通过接口传出去。
反正对于这种需求,我想说的只有一句话,MDZZ。
public B test() {
return new B();
}
}.test();
这样不知道是不是楼主想要的