软件包为JAVA类提供了命名空间
//将类放置到一个包当中,需要使用package "包名"
//编译时需要使用 -d 参数,该参数的作用是依照包名生成相应的文件夹
//一个类的全名应该是"包名" + "." + "类名"
//mars.Test
//包名的命名规范:
//1、要求包名所有的字母都要小写;
//2、包名一般情况下,是你的域名倒过来写;
package mars;
class Test{
public static void main(String args []){
System.out.println("Hello package");
}
}
编译过后,想要执行,就要用全名:java mars.Test
导入机制
import org.marsdroid.Person;
以后要使用Person这个类,可以直接使用,不用把包名写全
如果我要使用很多org.marsdroid中的很多类,可以这样写:
import org.marsdroid.*;(导入org.marsdroid包中的所以类)
Java当中的访问权限
1、public:公共权限
2、private:私有权限
3、default:包级别访问权限(默认权限)
4、protected:受保护权限
当类被声明名public时,类名和文件名必须一样
在不同的包中,一个类想访问一个类时,那个类必须是public,要访问的
类成员也应该是public的。
//public 可以修饰类、成员变量和成员函数
//没有任何限制,同一个包当中,或者不同包当中的类都可以*访问
//private 可以修饰成员变量和成员函数
//只能在本类中使用
//default(不写权限修饰符,就是default权限) 可以修饰类、成员变量
和成员函数
//在同一包当中,可以*访问
访问权限与继承之间的关系
如果子类和父类不在同一个包当中,则子类无法继承到父类当中的default权限的成员变量和成员函数()有问题)
如果子类和父类不在同一个包当中,子类可以继承到父类当中的default权限的成员变量和成员函数,但是权限不够,无法使用
要想跨包访问,就必须把成员变量或者成员函数定义为public.
protected权限:
protected权限首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数。
protected和public的区别:
两者都可以跨包使用,public任何类都可以使用,protected只有子类才可以使用。
权限排序: public > protected > default > private