this和super
this:当前对象
this还可以用于调用构造器
使用this()必须放在构造器首行
使用this()必须避免自己调用自己
super:
用来调用父类中的指定操作
在父类只有有参构造可以使用时,子类必须显示的构建一个构造来调用父类的有参构造,并且调用父类的构造方法要写在第一行
定义父类
package test;
import java.io.*;
class SuperClass{//定义父类
int x;
SuperClass(){
x = 10;
}
void doClass() {
System.out.println("SuperClass.doClass()");
}
}
定义父类并且继承父类
class SubClass extends SuperClass{//定义子类并且继承父类
int x;
SubClass(){
super();
x = 100;
}
**@Override**
void doClass() {//重写父类方法
System.out.println("SubClass.doClass()");
}
void doDemo() {
int x;
x = 1000;
super.doClass();
doClass();
System.out.println("super.x=" + super.x);//父类x
System.out.println("this.x=" + this.x);//子类x
System.out.println("x=" + x);//本类x
}
}
public class SuperDemo {
public static void main(String[] args) {
SubClass s =new SubClass();
s.doDemo();
}
}