第六章 访问权限控制
1.包单元
1.1代码组织
一个.java文件中可以有多个类,但只能有一个public类
java文件中的每个类都会有一个.class的输出文件,其文件中有多个类,那么就会产生多个class文件。
java的可运行程序是一个jar包。它由一个或多个.class文件组成的压缩包。
import static 可以将类的静态方法直接导入到当前文件,使用静态方法时无需加类名。
CLASSPATH环境变量用于查找.class文件和包所在的根目录
2.Java访问权限修饰词
为了使文件可以被编译,在CLASSPATH之中一定要有一个“.”
类中的静态成员函数不能访问类中的非静态成员,但直接访问private静态成员或通过对象访问类内的任何函数
包访问权限:
包中的所有类都可以访问该成员,但包外的类不能访问该权限的成员。
private:
类中的成员和函数对外不可见,在类内部 类的静态函数可以通过类的实例对对象访问类中的所有成员变量和函数
protected:
它具有包权限,但不是public. 具有该权限的成员在包外只可被包外的子类继承,但在包外仍不可访问。
第七章 复用类
1.继承语法 extends
在创建新类时若不指定基类,系统将隐式地将Object做为它的基类
即使一个类只有包访问权限, 其public main仍然是可访问的,可以用java classname 来执行其main函数
2.final
final的成员变量:
编译时常量 final int i = 1;
运行时初始化后就不能改变该值 final int i = rand.nextInt(20);
空白final
可以先定义final变量,然后在构造函数或实例初始化中初始化。
class BlankFinal
{
final int i;
BlankFinal(){i = 3;}
}
final对象引用
不能改变引用所指向的对象,但可以改变对象的内容 相当于c++中的 char * const p;
final方法
子类不能修改基类中的final方法,所有private方法都是隐式地指定为final的
final类
该类不允许被继承

浙公网安备 33010602011771号