this&&super关键字

thissuper都是一个表示对象的引用.
区别在于this是指向调用这个方法的对象,而super指向调用这个方法的父对象.
下面写一个栗子: (注意注释位置)

class Car{
    public int tires;       //轮胎
    public Car(int tires){  
        this.tires=tires;   //将形参tires赋值给当前对象的tires成员
    }
    public void start(){
        System.out.println("启动~");
    }
}

class Benz extends Car{
    static String brand="Benz";
    private String color;
    public Benz(int tires,String color){
        super(tires);               //子类调用父类构造函数,必须放在第一行
        this.color=color;
    }
    public void setColor(String color){
        this.color=color;           //将形参color赋值给当前对象的color成员
    }
    public void run(){
        super.start();              //子类调用父类方法,行车前先启动
        System.out.println("Run~~~~");
    }
}

class CarDemo{
    public static void main(String[] args){
        Benz benz = new Benz(4,"red");
        benz.run();
    }
}

结果:

启动~
Run~~~~

thissuper都可以用于调用当前类/父类方法,也可以用于调用构造方法,不过要放在方法的第一行

你可能感兴趣的:(this&&super关键字)