java如何引用类_java – 如何引用当前类的类?

这是很难解释的,但我看到无处不在,我找不到任何好的答案.

有一个例子,使其更容易理解:

假设我有一些名为SelfMaker的界面:

public interface SelfMaker {

public SELF getSelf();

}

A有一只狗,可以与另一只狗一起生育.所以狗是一个“SelfMaker”,像这样:

public class Dog implements SelfMaker {

String color;

public String toString() {

return "some " + color + " dog";

}

public Dog procreate(Dog anotherDog) {

Dog son = getSelf();

son.color = color;

return son;

}

@Override

public Dog getSelf() {

return new Dog();

}

}

但是,我有一个国内狗,他是一个狗,但它有一个可爱的家庭命名他.喜欢这个:

public class DomesticDog extends Dog {

private String name;

public String toString() {

return super.toString() + " named " + name;

}

}

现在,我有一些类处理“SelfMaker”的对象,让我们把这个类称为“Couple”.喜欢这个:

public class Couple> {

private T first;

private T second;

public String toString() {

return first.toString() + " and " + second.toString();

}

}

例外:

当我想要创建几个DomesticDogs时出现异常.喜欢这个:

public class CoupleOfDomesticDogs extends Couple{

public DomesticDog procreate(){

DomesticDog son = first.procreate(second);

return son;

}

}

这将在< DomesticDog>上引​​发异常抱怨:绑定不匹配:类型DomesticDog不是有界参数的有效替代< T extends SelfMaker&T>>的类型为< T>

我已经尝试将泛型变量从类别更改为:Couple< T extends SelfMaker>但“儿子”不会是国内家庭(我想让“儿子”成为国内家庭).如果我添加一些演员,那么它将编译,但它将不那么清晰.

所以…这里是一个问题:有没有办法实现这一点,没有铸造和泛化?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值