Java中的this操作方法与字段
public class Parent { public void init() { System.out.println("1 init parent"); this.demo(); } public void demo() { System.out.println("2 demo parent"); } }
public class Son extends Parent { public void init(){ super.init(); System.out.println("3 init son"); this.demo(); } public void demo() { System.out.println("4 demo Son"); } public static void main(String[] args) { //当前运行类 Son Son son = new Son(); son.init(); //init(son) } }
输出结果是:
1 init parent 4 demo son 3 init son <pre name="code" class="java">4 demo son
操作方法时,this是指当前运行类,在这里就是指son;
第二个例子:
public class Parent { public String name="tom"; public void init() { System.out.println(this.name); } }
public class Son extends Parent { public String name="jack"; public void init(){ super.init(); System.out.println(this.name); } public static void main(String[] args) { //当前运行类 Son Son son = new Son(); son.init(); //init(son) System.out.println("## " + son.name); Parent p = new Son(); System.out.println("** " + p.name); } }
tom jack ## jack ** tom
操作字段时,是不能像方法一样覆盖的,this是谁的就是谁的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。