• java基础-关键词super与this


    转发:itbooks

    this是调用自己本身的构造函数,而super是调用父类中的构造函数。

    这两个关键词是用在构造函数中的,这两个关键词的设计也是对封装特性的一种考虑,避免编写不必要的重复代码。

    class Animal{
    //定义构造函数,要求子类必须初始化名字
    Animal(String _name){
    this.name=_name;
    }
    //动物名字
    private String name;
    
    void showName(){
    System.out.println(name);
    }
    }
    
    class Dog extends Animal{
    private int age;
    //创建狗的实例的时候必须给它一个名字
    Dog(String _name) {
    //调用父类构造函数进行初始化
    super(_name);
    }
    
    Dog(int _age,String _name){
    this(_name);//调用自己的构造函数进行初始化
    this.age=_age;
    }
    }
    

    从上面列子可以看出来,super是用来调用父类的构造函数的,并且它必须在调用派生类构造函数之前调用,根据java初始化

    顺序首先是初始化最顶级的父类依次往下初始化,最后才初始化本身构造函数。实例中this关键词是用来调用本身的构造函数,这样就没必要再去重复写一遍name的初始化了。

    可以去试试,this是不允许再super之前调用的。

  • 相关阅读:
    C# 防止同一个账号多次登录(cache方法)
    前端--关于Canvas
    前端--关于客户端javascript
    前端--关于javascript函数
    前端--关于javascript对象
    前端--关于javascript基础
    前端--关于背景、浮动和定位
    前端--关于CSS盒模型
    前端--关于CSS文本
    前端--关于css选择器
  • 原文地址:https://www.cnblogs.com/showstyle/p/3997345.html
Copyright © 2020-2023  润新知