J2SE基础:3.对象的创建与使用类的命名空间和訪问权限
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)
同一个包底下的类能够相互调用。
不同的包底下的类,须要用到还有一个包底下的类时,须要使用
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); } }