首页 > 代码库 > J2SE基础:3.对象的创建与使用类的命名空间和訪问权限

J2SE基础:3.对象的创建与使用类的命名空间和訪问权限

1:package包。
包(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)
同一个包底下的类能够相互调用。



不同的包底下的类,须要用到还有一个包底下的类时,须要使用
importkeyword导入所须要的类路径。





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);
	}
}





J2SE基础:3.对象的创建与使用类的命名空间和訪问权限