java中的this和super
一、java中的特殊变量this
this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。
简单实例:
package com.java.part01_1;
public class TextDemo01 {
private String name;
private int age;
TextDemo01(String name,int age){
setName(name);
setAge(age);
this.print();
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void print(){
System.out.println("名字是:"+name+"年龄:"+age);
}
public static void main(String args[]){
TextDemo01 TD = new TextDemo01("jack",20);
}
}
运行结果:
二、java中的特殊变量super
在Java中有时会遇到子类中的成员变量或方法与父类中的成员变量或方法同名,由于子类中的成员变量或方法名优先级高,所以子类中的成员变量或方法就隐藏了父类中的成员变量或方法,但是想要使用父类中的这个成员变量或者是方法,此时就需要用到super。
简单代码事例:
(1)先建一个Country的父类
package com.java.part01_1;
public class Country {
String name;
void value(){
name = "china";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(2)再建一个City的子类,进行super的使用
package com.java.part01_1;
public class City extends Country{
String name;
void value(){
name = "shanghai";
super.value();
System.out.println(name);
System.out.println(super.name);
}
public static void main(String args[]){
City c1 = new City();
c1.value();
}
}