RandomGenerator
class是Random
类的子类。他们都有不同的包装。 RandomGenerator
包含acm.util
,Random
类位于java.util
类。
我不明白不同的包如何适应不同的类。包是不同类的集合。它是否正确?如果java.util
包中有不同的类,其中一个类是Random类。 Random类中是否包含acm.util包?类的包扩展?
答案 0 :(得分:3)
从类到包的关系是1对多关系。 1个类只属于一个包,但是包可以包含多个类(或更多的子包)。
类的包关系与继承完全正交(独立),但可以影响类成员的可见性。
也许您熟悉C ++或C#,他们有“名称空间”的概念来准确区分同名的类。 Java解决了包的问题。每个包只能包含一个同名的类 - 因此类的完全限定名称(如java.util.random
)是唯一的。
答案 1 :(得分:0)
包就像文件夹一样,是订购课程的一种方式。
您可以在非常不同的包中使用实现或扩展库的类。重要的是你必须遵循一些规则":
http://docs.oracle.com/javase/tutorial/java/package/packages.html
答案 2 :(得分:0)
您可以在Java语言规范中阅读:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html
答案 3 :(得分:0)