网站大量收购闲置独家精品文档,联系QQ:2885784924

关键字this与super.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关键字this与super

Java关键字this、super使用总结 ? 一、this ??????? Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。下面给出一个使用this的综合实例,以便说明问题: ? package org.leizhimin; public class Test6 { ?private int number; ?private String username; ?private String password; ?private int x = 100; ?public Test6(int n) { ??number = n; ?// 这个还可以写为: this.number=n; ?} ?public Test6(int i, String username, String password) { ??// 成员变量和参数同名,成员变量被屏蔽,用this.成员变量的方式访问成员变量. ??this.username = username; ??this.password = password; ?} ?// 默认不带参数的构造方法 ?public Test6() { ??this(0, 未知, 空); // 通过this调用另一个构造方法 ?} ?public Test6(String name) { ??this(1, name, 空); // 通过this调用另一个构造方法 ?} ?public static void main(String args[]) { ??Test6 t1 = new Test6(); ??Test6 t2 = new Test6(游客); ??t1.outinfo(t1); ??t2.outinfo(t2); ?} ?private void outinfo(Test6 t) { ??System.out.println(-----------); ??System.out.println(t.number); ??System.out.println(t.username); ??System.out.println(t.password); ??f(); // 这个可以写为: this.f(); ?} ?private void f() { ??// 局部变量与成员变量同名,成员变量被屏蔽,用this.成员变量的方式访问成员变量. ??int x; ??x = this.x++; ??System.out.println(x); ??System.out.println(this.x); ?} ? ?//返回当前实例的引用 ?private Test6 getSelf() { ??return this;? ?}? ??????? 看着上面的例子,说明在什么情况下需要用到this: ??????? 第一、通过this调用另一个构造方法,用发是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。 ??????? 第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错,呵呵。 ??????? 第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。 ??????? 其实这些用法总结都是从对“this是指向对象本身的一个指针”这句话的更深入的理解而来的,死记不然容易忘记而且容易搞错,要理解! ? 二、super ??????? super关键和this作用类似,是被屏蔽的成员变量或者成员方法或变为可见,或者说用来引用被屏蔽的成员变量和成员成员方法。 不过super是用在子类中,目的是访问直接父类中被屏蔽的成员,注意是直接父类(就是类之上最近的超类)。下面是一个综合运用super的例子,有两个类:一个Father类,一个Father类的子类Son,通过这两个类完全演示了super的用法,一下是代码:? package org.leizhimin; public class Father { ?public String v=Father; ?public String x=输出了Father类的public成员变量x!!!; ? ?public Fathe

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档