本帖最后由 殷婷婷 于 2013-11-20 21:15 编辑
test_4 a1=new test_4(1);//此时执行子类构造方法,al中的y被赋值为1,但注意,这里的y是指在子类中重新定义的y,而不是父类定义的y,这个y的作用范围是子类。int x = a1.get_1();//调用父类中的get_1方法,this.x+ this.y 指的是父类中定义的x 与 y,当然是5+10
如果子类没有重新定义y,则 test_4 a1=new test_4(1);执行后,y 被赋值为1,这时的y是子类继承父类的y,即在父类中定义的y,那么执行int x = a1.get_1();后,x + y 为5+1
代码如下:- class test_parent
- {
- int x = 5;
- int y = 10;
- void set_value(int a, int b)
- {
- x = a;
- y = b;
- }
- int get_1()
- {
- return this.x + this.y;
- }
- int get_2()
- {
- return x - y;
- }
- }
- class test_4 extends test_parent
- {
- //这里不定义y,子类继承父类的y
- test_4(int a)
- {
- y = a;
- }
- void set_value(int a, int b)
- {
- x = a;
- y = b;
- }
复制代码 |