1、包:软件包(文件夹)
使用关键字package “包名”来使用,如:package martin;
编译方法:javac -d . Test.java
-d参数:该参数的作用是依照包名在相应目录下生成相应的文件夹,并把生成的目标文件放在该文件夹下,如:
javac -d c:\windows Test.java (点代表当前目录)
打包后,这个类的命名为“包名”+“ . ”+“类名”,如martin.Test
在DOS中编译时要写全名;
如果两个类在同一个包,调用的时候不需要写全名;
如果两个类不在一个包,调用的时候需要写全名;
包命名规范:
a、所有字母小写
b、域名倒过来写,如:com.baidu
2、访问权限
public:类、成员,没有任何限制,跨包的时候使用
private:成员,只能在一个类内部使用
default:类、成员,同包内可自由访问,不能跨包(默认权限)
protected:成员,除default一样的权限外还允许跨包继承、使用,但只能修饰成员
protected和public的区别:
public权限允许所有类访问、使用被修饰的类和成员
protected权限只允许子类访问、继承
权限比较:public > protected > default > private
3、软件包的导入
我们已经知道,当我们跨包使用一个类的时候,要写类的全名,如此太麻烦,我们可以通过导入包的方法来一次性解决,不再需要写类的全名,就像是在同一个包内一样。
使用import关键字,如:import martin.Test
导入后,在被导入的类中使用导入的类不需要再写全名。
4、继承的权限
如果子类、父类不在同一个包当中,父类必须是public,且子类无法继承到父类当中的default权限成员(其实是可以继承到的,但因为权限问题无法使用)
如果子类、父类在同一个包当中,子类无法继承到父类当中private权限成员。