抽象泛型类实现

    public abstract class TestVisitParentMethod{
        public abstract <T,S extends T> void effect(int number,S it);
    }
    
    
    @SuppressWarnings("unused")
    class instanceAA extends TestVisitParentMethod{
        private int IA = 0;
        
        public void setIA(int IA){
            this.IA = IA;
        }
    
        @Override
        public <TestVisitParentMethod,instanceBB> void effect(int number, instanceBB it) {
            // TODO Auto-generated method stub
            //此处报错
        }
    
    }
    
    @SuppressWarnings("unused")
class instanceBB extends TestVisitParentMethod{
    private int IB;
    
    public void setIB(int IB){
        this.IB = IB;
    }
    
    public instanceBB(int number,instanceAA instanceb){
        this.IB = number;
        effect(number,instanceb);
    }

    @Override
    public <T, S extends T> void effect(int number, S it) {
        // TODO Auto-generated method stub
        
    }
}


为什么TestVisitParentMethod 抽象泛型类被实现时不能用具体的类型去替代,
如上述:instanceAA 报错,instanceBB 正常
阅读 4.1k
1 个回答

应该这么写嘛:

public abstract void effect(int number, Object it);

不明白你为啥非要把方法做成泛型方法不可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏