小编met*_*eta的帖子

为什么参数的私有字段对Java 6中的泛型方法可见,但在Java 7中却不可见?

可能重复:
升级到Java 7后,泛型类的类型参数化字段变为不可见

public class Test{

    private String _canYouSeeMe = "yes";

    <T extends Test> void genericMethod(T hey){
        String s = hey._canYouSeeMe;
    }

    void method(Test hey){
        String s = hey._canYouSeeMe;
    }   
}
Run Code Online (Sandbox Code Playgroud)

在针对JDK 1.6构建时,这种编译很好但是对于1.7,在genericMethod()中存在编译器错误:字段Test._canYouSeeMe不可见

可以通过使_canYouSeeMe受保护而不是私有来解决错误,但我只是想知道从1.6到1.7的变化

java generics private-members generic-method java-7

13
推荐指数
1
解决办法
867
查看次数

标签 统计

generic-method ×1

generics ×1

java ×1

java-7 ×1

private-members ×1