包(类名冲突,类的组织,层次结构)
继承 多态
接口
首先来看一看C++中是如何管理命名空间的
//C++:命名空间,但是不同命名空间之间互相使用就很麻烦
namespace a{
namespace b{
class A{}
}
}
Javas通常使用Packet语句管理命名空间
//在Java中 第一条语句通常都是Packet语句,如果出现Packet语句,他一定是在第一条
package a;
class Person{}
现在的Person就是a.Package了,他在a空间中
包也有层次结构
package a.b.c
class Person{
}
b在a空间中,c在b空间中,Person在c空间中(a空间中的b空间中的c空间中)
但是这样会很麻烦,例如如果在其他包中使用Person 就要用a.b.c.Person来表示
package a;
import a.b.c.Person
class B {
void a(){
Person p=new Person();
}
}
注意:一个java程序只能有一句Package
引入一些Java自带的库也是用import实现的
import java.lang.system //这个是基本的工具包中的类,正常不用写,可以自动导入
import java.lang.* //这个意思就是导入java.lang中所有的类,同理正常也是不用写的
注意:*不匹配包名,而是匹配类名
注意代码规范:所有的package都要是小写