是否是说 first.java中有A B C 三个类,second.java中有D E F 三个类,那么first和second是两个不同的包?
包访问是说我可以在first.java中访问second的某些方法或生成D E F对象吗?
是否是说 first.java中有A B C 三个类,second.java中有D E F 三个类,那么first和second是两个不同的包?不是,这是java文件的组织方式,因为java强制要求一个public类必须在一个同名的文件中,但是多个包访问权限的类是可以在同一个文件夹中的
First.java
class A{Second.java
class E{A B C D E F都是在同一个包中,而不是ABC在firstFirst包中,而DEF在Second包中
改写Second.java
你现在first.java中是无法访问EDF类的,这才是包的概念,另一个包中的(First.java中的ABC是在默认包中也是另外一个包)是无法访问EDF类的,因为他们是包访问权限,类只有两种权限,包访问权限和public权限
包访问是说我可以在first.java中访问second的某些方法或生成D E F对象吗?
是说如果first.java和second.java是在同一个包中,那么是可以的,但是如果不在同一个包中,并且那些类或方法是包访问权限,那是没有办法访问的
在添加一个类Third.java
package package2.third;这些类都是包访问权限,那么E.java中的类可以访问吗?不可以,包没有嵌套的概念,即使Third.java是在E.java的的子包中即E.java在package2中,而Third.java在package2.third
java中类的访问权限(不是内部类,内部类必须另加讨论)只有public和包访问权限,要么所有包中的类和方法都可以访问,要么只有在同一个包中的类才能访问,并且
package package2.third;是在package2.third包中
package package2;实在package2包中,这是两个不同的包,即使在电脑上third文件夹是在package2文件夹中