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 首先,我刚学到面向对象的时候,对于这个"this"还是一脸蒙逼的。就感觉是穿了一件外套,本来自己觉得...
    wuchaooooo阅读 2,333评论 2 7
  • static关键字 (1)如果没有static会怎样? 定义Person类姓名、年龄、国籍,说话行为多个构造,重载...
    多了去的YangXuLei阅读 589评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,225评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,826评论 18 399
  • https : http://blog.csdn.net/iosterry/article/details/52...
    繁华乱世沧桑了谁的容颜阅读 287评论 0 6