1:package包。
2:package的命名规范:
3:包在逻辑上是以命名空间划分的。
4:javac -d选项的作用
包的导入(import)
5.有名包与无包名访问的问题:
6.访问权限
包(package)是类的容器,用来保存划分类名空间。
逻辑意义对类进行划分。
解决同名的类的冲突问题。
2:package的命名规范:
A:package必须写在源文件的第一行。
B:package名一律使用小写。
C:(建议)package使用公司的域名倒过来。
www.demo.com
com.demo.项目名称.模块名称
3:包在逻辑上是以命名空间划分的。
在物理上是以文件系统路径划分的。
com.demo.one
将类编译好后,要将编译好的类放到com/demo/one这个文件夹下面
运行
java com.demo.one.类名;
4:javac -d选项的作用
-d:指定类文件(class) 存放的位置。
javac -d ./ Test_03.java
带package的类与classpath如何运行
C:/>java -classpath F:\aa.bb.cc.dd.ee.Test_03
包的导入(import)
同一个包底下的类可以相互调用。
不同的包底下的类,需要用到另一个包底下的类时,需要使用
import关键字导入所需要的类路径。
5.有名包与无包名访问的问题:
无名包底下的类可以访问有名包底下的类。
有名包底下的类不可以访问无名包底下的类。
6.访问权限
private:同一个类中的访问权限。其它的类都不能访问用private修饰
的方法和属性。
default:同一个包下面的类都可以访问。不同包是无法访问使用默认
default下面类。
protected:同一个包下面的类都可以访问,不同包是无法访问,但是在不
同包下面,是该类的子类就可以访问protected修饰的变量和方
法。
package aa.bb.cc.dd.ee;
public class Test_03
{
public static void main(String args[]){
System.out.println("Test_03");
}
}
package com.testdog;
public class Dog{
private int dogid;
protected String dogName;
int getDogid(){
return this.dogid;
}
void setDogid(int dogid){
this.dogid = dogid;
}
protected void setDogName(String dogName){
this.dogName = dogName;
}
}
package com.testprotected;
import com.testdog.Dog;
public class TestProtected extends Dog{
public static void main(String args[]){
TestProtected dog = new TestProtected();
dog.setDogName("test");
System.out.println(dog.dogName);
}
}