A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王勇文 中级黑马   /  2013-1-19 17:47  /  1620 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 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. **一般,子类中不会出现和父类同名的成员变量。面试可能问到。
复制代码
这是我拿到练习,拿出代码,不懂补全完整。只好放出来丢一下人。
                       快来帮我改正一下哟。

                                           要丢人啦!!!

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 鼓励下吧,5分以上过于简单的问题一般不给.

查看全部评分

3 个回复

正序浏览
//在程序最后加上一下代码
class Test //定义一个Test类,用于存放主函数
{
public static void main(String[] args)//主函数
{
Son s= new Son();//创建对象
s.show();//调用show方法
}
}
回复 使用道具 举报
  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

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 张云杰 于 2013-1-19 17:58 编辑


public static void main(String[] args) {
  Son son = new Son();
  son.show();
}

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马