黑马程序员技术交流社区

标题: java基础 [打印本页]

作者: 杨桦    时间: 2014-6-13 15:15
标题: java基础
各位同仁,本人新手,请问this和super在代码中怎样更好的使用,谢谢啦
作者: youngkay    时间: 2014-6-13 18:14
this和super代表第二都是 父类
作者: wangzhiyong515    时间: 2014-6-13 18:52
  this 代表的是本类对象的引用
  super代表父类的内存空间的标识。
  当子父类出现同名成员时,可以用super进行区分
  子类要调用父类构造函数时,可以使用super语句。


调用本类成员变量:

      this.成员变量

调用父类成员变量:

      super.成员变量

如果方法中局部变量 与 类中成员变量 名字重复, 使用this区别

如果类中成员变量 与 父类中成员变量 名字重复, 使用super区别

作者: 江峰渔火    时间: 2014-6-13 19:37
上面回答的比较清楚了,我下面给你举个例子:

  1. package lh.zjzk;

  2. public class Parent {
  3.         private String child1;
  4.        
  5.         public Parent() {
  6.         }
  7.        
  8.         public Parent(String child1) {
  9.                 this.child1 = child1;
  10.         }

  11.         public void say(){
  12.                 System.out.println("我是家长");
  13.         }
  14.         public String getChild1() {
  15.                 return child1;
  16.         }
  17.         public void setChild1(String child1) {
  18.                 this.child1 = child1;
  19.         }
  20.        
  21. }
复制代码


子类 ZhangSan继承Parent,然后他也有一个say()方法,内容调用parent中的Say()
  1. package lh.zjzk;

  2. public class ZhangSan extends Parent {

  3.         @Override
  4.         public void say() {
  5.                 super.say();//调用父窗体的say()方法内容
  6.         }

  7.         public static void main(String[] args) {
  8.                 ZhangSan zs = new ZhangSan();
  9.                 zs.say();
  10.         }
  11. }
复制代码


输出结果:我是家长
作者: 梦里花落    时间: 2014-6-13 19:52
wangzhiyong515 发表于 2014-6-13 18:52
this 代表的是本类对象的引用
  super代表父类的内存空间的标识。
  当子父类出现同名成员时,可以用sup ...

可以写书了······表达很清晰····我本来就想给卤煮回一个this访问儿子自己···super访问他粑粑····  哎···惭愧惭愧···
作者: 沿途的记忆    时间: 2014-6-13 20:10
调用本类成员变量:

      this.成员变量

调用父类成员变量:

      super.成员变量

如果方法中局部变量 与 类中成员变量 名字重复, 使用this区别

如果类中成员变量 与 父类中成员变量 名字重复, 使用super区别


介绍简单明了,感觉不错,学习了




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