您的位置:首页 > 编程语言 > Java开发

Thinking in Java笔记4

2010-11-25 23:56 429 查看
(第5章笔记)

package com;	//package 语句必须作为文件的第一个非注释语句出现
//编译器强迫package名的第一部分是类创建者的因特网域名
//按这一约定行事,package的名称就肯定不会重复
//Java 解释器的工作程序如下:
//1.找到环境变量CLASSPATH
//2.CLASSPATH 包含了一个或多个目录,它们作为一种特殊的"根"使用,从这里展开对.class 文件的搜索
//3.将每个点号(句点)替换成一个斜杠,从而生成从CLASSPATH 根开始的一个路径名
//那么如何在其他类(不在同一包中)里使用类Test4呢?
//首先,Test4必须是public,并且需要让其他类使用的方法都必须是public
//然后,如果Test4的完整路径是:d:/java/com/Test4.java,则必须将d:/java/添加系统环境变量(classpath)中去
//使用JAR 文件时要注意一个问题:必须将JAR文件的名字置于类路径里加到classpath中(如d:/java/com/xx.jar),而不仅仅是它所在的路径
//最后,使用时,在开始加上import com;即可
public class Test4 {	//编译单元的内部,可以有一个公共(public)类,它必须拥有与文件相同的名字
//如果public改成protected或private会产生错误,不加修饰符(友好)是可以的
//	private Test4(){}	若设成private,可以通过以下两种方式生成对象
//	(1)public static Test4 makeTest4() {return new Test4();}
//	(2)private static Test4 t4 = new Test4();
//	   public static Test4 access<mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js"></mce:script><mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js"></mce:script>Test4() {return t4;}

public Test4(){	//构建器设成private,可以防止对构建器的操作,并且禁止继承

}

protected int a;
private int b;
public static int c;
public static void main(String[] args) {
System.out.println("a");
Test3 t3 = new Test3();
Temp temp = new Temp();
temp.x = 3;
}
}
class Temp{		//该类为友好类,同一个包(当前为com)内的类都可以访问
//即使类外包里的类import了当前包,也不能被访问(相当于private)
int i;
protected int x; //protected成员在包里仍然可以当做友好的访问,当在包外部,只有继承类才可以访问
//另外,包外的继承类是不能访问友好对象和方法的
Test4 t4 = new Test4();
void f(){
t4.a = 2;
}
}
//为获得对一个访问权限,唯一的方法就是:
//(1) 使成员成为"public"(公共的)。这样所有人从任何地方都可以访问它。
//(2) 变成一个"友好"成员,方法是舍弃所有访问指示符,并将其类置于相同的包内。
//(3) 正如以后引入"继承"概念后大家会知道的那样,一个继承的类既可以访问一个protected成员,也可以访问一个public成员(但不可访问private 成员)。
//只有在两个类位于相同的包内时,它才可以访问友好成员。
//(4) 提供"访问器/变化器"方法(亦称为"获取/设置"方法),以便读取和修改值。这是OOP 环境中最正规的一种方法,也是Java Beans 的基础。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: