继续在MyEclipse上测试
// 关键字 public 是一个可见的修饰符,指明了这个类对于其他类来说都是可见的。
// 一个文件只有一个外部类可以声明为public。多于一个的public 类,将会发生一个编译期错误。
/**
* @author 木炭
* 类、类实例、方法、自动局部变量
*/
public class Class2 {
public int iShad = 10;
/**
* @param args
*/
public static void main(String args[]) {
/*在Class2类中创建的其他实例中,方法被类的每个实例所调用。
每个类的实例将能够访问它自己的变量。因此下面的代码将调用不同实例的amethod 方法
*/
Class2 hw = new Class2();// 这里有一个命名习惯,一个类的实例名以小写字母开头,而类的名字以大写字母开头。
Class2 hw2 = new Class2();
hw.amethod();
hw2.amethod();
}
public void amethod() {
int iShad = 99;
System.out.println("iShad=" + iShad);//将打印 99 而不是10
/*自动局部变量是方法变量。它们在方法代码开始运行时生效,并在方法结束时失效。
如果你希望一个值在方法被调用时保持,你需要将变量创建在类级别。
一个自动变量将“屏蔽”类级别的变量。*/
}
}
/**
* @author 木炭
* 修饰语和封装
*/
public class EncBase {
private int iEnc = 10;
// 通过get;set代码执行处理方式,实际的程序代码行可以改变,而外面的部分(接口)保持不变。
public int getIEnc() {
return iEnc;
}
public void setIEnc(int enc) {
if (enc < 1000) {
iEnc = enc;
} else
System.out.println("Enc的值必须小于1000");
}// End if
/**
* @param args
*/
public static void main(String[] args) {
EncBase b = new EncBase();
b.setIEnc(101);//当然也可以简单的用b.iEnc=101来赋值,不推荐;
System.out.println("b.getIEnc()="+b.getIEnc());
// 如果setIEnc输入的enc值小于1000则赋值给IEnc,运行结果:b.getIEnc()=101
// 否则打印:Enc的值必须小于1000
}
}
【冲皇冠特价】Java编程思想(第4版)(thinking in java)【包邮】 | ||
82.0元 | ![]() |