黑马程序员技术交流社区

标题: 继承小题目 [打印本页]

作者: lingxia125    时间: 2015-8-11 10:43
标题: 继承小题目
本帖最后由 lingxia125 于 2015-9-11 17:41 编辑
  1. class test_parent
  2. {
  3.         int x = 5;
  4.         int y = 10;
  5.         void set_value(int a, int b)
  6.         {
  7.                 x = a;
  8.                 y = b;
  9.         }
  10.         int get_1()
  11.         {
  12.                 return this.x + this.y;
  13.         }
  14.         int get_2()
  15.         {
  16.                 return x - y;
  17.         }
  18. }

  19. class test_4 extends test_parent
  20. {
  21.         int y;
  22.         test_4(int a)
  23.         {
  24.                 y = a;
  25.         }
  26.         void set_value(int a, int b)
  27.         {
  28.                 x = a;
  29.                 y = b;
  30.         }
  31.         int get_2()
  32.         {
  33.                 return y;
  34.         }
  35. }

  36. class  Test2
  37. {
  38.         public static void main(String[] args)
  39.         {
  40.                 test_4  a1=new test_4(1);
  41.                 int x = a1.get_1();
  42.                 System.out.println(x);

  43.                

  44.                
  45.         }
  46. }
复制代码
test_4继承 test_parent,在test_4初始化时,y=1,当调用get_1()方法时,this代表本类对象也就是test_4的对象,结果不应该是1+5吗?为什么答案是15?

作者: 18027587106    时间: 2015-8-11 11:49
get_1()方法中根本就不用加this,因为不会产生同名变量分歧,所以应该知道问题的解决方法了吧!你的get_1()方法就是返回一个int值15.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2