黑马程序员技术交流社区

标题: 麻烦帮改错,关于继承父子的。 [打印本页]

作者: 王勇文    时间: 2013-1-19 17:47
标题: 麻烦帮改错,关于继承父子的。
本帖最后由 张向辉 于 2013-1-19 18:07 编辑
  1. 继承后子父类之间成员的关系
  2. (1)成员变量
  3. class Father
  4. {
  5. int num1 = 5;
  6. }

  7. class Son extends Father
  8. {
  9. int num1 = 20;
  10. int num2 = 10;

  11. public void show()
  12. {
  13. int num1 = 30;
  14. System.out.println("num1:"+num1);
  15. System.out.println("num2:"+num2);
  16. //局部范围内有的变量,如果我想使用成员变量,怎么办?this
  17. System.out.println("this num1:"+this.num1);
  18. //就想子类中访问父类中和子类同名的变量super
  19. System.out.println("father num1:"+super.num1);
  20. }
  21. }

  22. 总结:使用子类中的成员变量时,首先看局部有没有和成员变量同门的,如果有就是用局部的。
  23. 其实,在子类的成员变量里面找,如果有,直接输出。
  24. 最后,在父类中找同名的变量,如果有,就输出父类的值。否则报错。

  25. this和super的区分:
  26. **this代表本类对象的引用
  27. super代表父类的内存空间的标识。
  28. **this可以用于区分局部变量和成员变量同名的情况。
  29. super可以用于区分子类和父类成员变量同名的情况。
  30. **一般,子类中不会出现和父类同名的成员变量。面试可能问到。
复制代码
这是我拿到练习,拿出代码,不懂补全完整。只好放出来丢一下人。
                       快来帮我改正一下哟。

                                           要丢人啦!!!
作者: 张云杰    时间: 2013-1-19 17:51
本帖最后由 张云杰 于 2013-1-19 17:58 编辑


public static void main(String[] args) {
  Son son = new Son();
  son.show();
}
作者: 柴乔军    时间: 2013-1-19 17:55
  1. class Father

  2. {

  3.         int num1 = 5;

  4. }

  5. class Son extends Father

  6. {

  7.         int num1 = 20;

  8.         int num2 = 10;

  9.         public void show()

  10.         {

  11.                 int num1 = 30;

  12.                 System.out.println("num1:" + num1);

  13.                 System.out.println("num2:" + num2);

  14.                 // 局部范围内有的变量,如果我想使用成员变量,怎么办?this

  15.                 System.out.println("this num1:" + this.num1);

  16.                 // 就想子类中访问父类中和子类同名的变量super

  17.                 System.out.println("father num1:" + super.num1);

  18.         }

  19. }

  20. public class Test2 {
  21.         public static void main(String[] args) {
  22.                 Son s = new Son();
  23.                 s.show();
  24.         }
  25. }
复制代码
\
结果:
num1:30
num2:10
this num1:20
father num1:5
作者: 罗广伟    时间: 2013-1-19 18:10
//在程序最后加上一下代码
class Test //定义一个Test类,用于存放主函数
{
public static void main(String[] args)//主函数
{
Son s= new Son();//创建对象
s.show();//调用show方法
}
}




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