java包以及其源文件简记

1)为了更好的组织类,java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。java中的包一般均包含相关的类,java是跨平台的,所以java中的包和操作系统没有任何关系,java的包是用来组织文件的一种虚拟文件系统。
2)import语句并没有将对应的java源文件拷贝到此处,仅仅是引入,告诉编译器有使用外部文件,编译的时候要去读取这个外部文件。
3)java提供的包机制与IDE没有关系。
4)定义在同一个包内的类可以不经过import而直接相互使用。外部类只能被public、abstract、final、(default)修饰),没有用public关键字修饰的话就是default权限,但是由于不能显式的加上default关键字(因为default关键字是用来定义接口中的默认方法)。由于外部类不会是private修饰的,因而也证明网络在同一包内的类可以不经过import而直接相互使用。

5)java源文件:当编写一个java源代码文件时,此文件通常被称为编译单元,每个编译单元都必须有一个后缀名.java,而在编译单元内可以有一个public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,因为这些不是public类,而且他们主要用来为主public提供支持。所以,一个以‘.java’为后缀的源文件只能有一个与文件名相同的类,可以包含其他类。

原文地址:https://www.cnblogs.com/yangrongkuan/p/12024619.html