类加载器加载的类的访问权限问题

[color=red]1.父加载器加载的类不能访问子加载器加载的类。 (向下可见性)
2.[b]子加载器加载的类可以访问父加载器加载的Public类[/b],但不能访问父加载器加载的包访问范围的类和方法。(包访问权限)
3.不同加载器加载的类不能强制转化。 A a=(A) b;[/color]

java.lang.Virus是不能访问JAVA API中的java.lang中的类

[color=red]是指Virus不能访问java.lang包中的包访问修饰符的内容[/color]
java的访问修饰符有private,public等,默认的就是包访问

[color=red]比如,如果String类中有一个方法methodA(),是包访问的范围,那么java.lang包中的类就可以调用这个方法,而java.lang包外的类不能调用String的这个方法

java.lang.Virus跟String都是java.lang包中的,但Virus是子加载器加载的,所以它的包范围就仅限于子加载器加载的java.lang包,访问不到String的methodA() [/color]

public修饰符是没有这个限制的,只要父加载器中加载的public方法都可以访问

你可能感兴趣的:(java)