protected int y = 20; int z = 11; private void f() { x = 200;
System.out.println(x); } void g() { x = 200;
System.out.println(x); } }
public class A {
public static void main(String args[]) { Tom tom = new Tom(); tom.x = 22; //【代码1】 tom.y = 33; //【代码2】 tom.z = 55; //【代码3】 tom.f(); //【代码4】 tom.g(); //【代码5】 } }
7.下列E类的类体中哪些【代码】是错误的。4
class E {
int x; //【代码1】 long y = x; //【代码2】 public void f(int n) {
int m; //【代码3】 int t = n+m; //【代码4】 } }
1.B。2.D。3.D。4.D。5.CD。6.【代码1】【代码4】。7.【代码4】。 三、阅读程序
1.说出下列E类中【代码1】~【代码3】的输出结果。 class Fish {
int weight = 1; }
class Lake { Fish fish;
void setFish(Fish s){
fish = s; }
void foodFish(int m) {
fish.weight=fish.weight+m; } }
public class E {
public static void main(String args[]) { Fish redFish = new Fish();
System.out.println(redFish.weight); //【代码1】 Lake lake = new Lake(); lake.setFish(redFish); lake.foodFish(120);
System.out.println(redFish.weight); //【代码2】 System.out.println(lake.fish.weight); //【代码3】 } }
2.请说出A类中System.out.println的输出结果。 class B {
int x = 100,y = 200;
public void setX(int x) { x = x; }
public void setY(int y) { this.y = y; }
public int getXYSum() { return x+y; } }
public class A {
public static void main(String args[]) { B b = new B(); b.setX(-100); b.setY(-200);
System.out.println(\ } }
3.请说出A类中System.out.println的输出结果。
class B { int n;
static int sum=0; void setN(int n) { this.n=n; }
int getSum() {
for(int i=1;i<=n;i++) sum=sum+i; return sum; } }
public class A {
public static void main(String args[]) { B b1=new B(),b2=new B(); b1.setN(3); b2.setN(5);
int s1=b1.getSum(); int s2=b2.getSum();
System.out.println(s1+s2); } }
4.请说出E类中【代码1】,【代码2】的输出结果n的输出结果。 class A {
double f(int x,double y) { return x+y; }
int f(int x,int y) { return x*y; } }
public class E {
public static void main(String args[]) { A a=new A();
System.out.println(a.f(10,10)); //【代码1】 System.out.println(a.f(10,10.0)); //【代码2】 } }
5.上机实习下列程序,了解可变参数。
public class E {
public static void main(String args[]) { f(1,2);
f(-1,-2,-3,-4); //给参数传值时,实参的个数很灵活 f(9,7,6) ; }
public static void f(int ... x){ //x是可变参数的代表,代表若干个int型参数
for(int i=0;i System.out.println(x[i]); //x[i]是x代表的第i个参数(类似数组) } } } 6.类的字节码进入内存时,类中的静态块会立刻被执行。实习下列程序,了解静态块。 class AAA { static { //静态块 System.out.println(\我是AAA中的静态块!\ } } public class E { static { //静态块 System.out.println(\我是最先被执行的静态块!\ } public static void main(String args[]) { AAA a= new AAA(); //AAA的字节码进入内存 System.out.println(\我在了解静态(static)块\ } 1.【代码1】:1,【代码2】:121,【代码3】:121。 2.sum=-100。 3. 27。 4.【代码1】:100,【代码2】:20.0。 5. 上机实习题目,解答略。 6. 上机实习题目,解答略。 四、编程题