java this super

this
1.普通的直接引用
2.形参与成员变量重名
3.引用构造函数
super
1.普通的直接引用,与this类似,super相当于执行当前对象的父类
2.子类中的成员变量或方法与父类中的成员变量或方法同名 例子
3.引用构造函数 例子
super(参数);    调用父类的某一个构造函数
this(参数);       调用本类中另一种形式的构造函数
注意:this、super在构造函数中,显示应用必须是第一条语句

用例:

class superClass {

public static String string = "在superClass中的静态字符串!";

public superClass() {

this(string);

System.out.println("superClass中的无参数构造函数!");

}

public superClass(String string) {

System.out.println("在superClass打印string的值:"+string);

}

}

 

class ThisClass1 extends superClass{

public static String string = "在ThisClass1中的静态字符串!";

public ThisClass1() {

this(string);

System.out.println("ThisClass1中的无参数构造函数!");

}

public ThisClass1(String string) {

System.out.println("在ThisClass1中打印string的值:"+string);

}

}

 

class ThisClass2 extends superClass{

public static String string = "在ThisClass2中的静态字符串!";

public ThisClass2() {

super(string);

System.out.println("ThisClass2中的无参数构造函数!");

System.out.println("打印super.string:" + super.string);

System.out.println("打印this.string:" + this.string);

}

public ThisClass2(String string) {

System.out.println("在ThisClass2中打印string的值:"+string); //未执行

}

}

 

public class main {

public static void main(String[] args) {

System.out.println("============ new ThisClass1 ============");

ThisClass1 thisClass1 = new ThisClass1();

System.out.println("============ new ThisClass2 ============");

ThisClass2 thisClass2 = new ThisClass2();

System.out.println("============ end! ============");

}

}

打印结果:
posted @ 2018-09-26 13:44  liuyj_vv  阅读(188)  评论(0编辑  收藏  举报