java 中this和super关键字
java 中this和super关键字
涂涂tutu 发表于4个月前
java 中this和super关键字
  • 发表于 4个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: this和super关键字

java中参数分为隐式参数和显式参数。

显式参数分为形参和实参

方法demo中的String类型参数str就是形参,代表着我调用demo方法,需要传入一个String类型的参数。

实际调用demo方法是,传入的String类型的参数“aa”就是一个实参。

如果传入的参数不是String类型的,就会出现异常。提示这个demo方法的参数是String类型的,传入int类型的参数就会报异常。

隐式参数:this和super:

在java中,每一个方法都会有两个隐式参数,分别是this和super,

this在普通方法中代表的是当前对象,this.name就是当前对象中的name属性。

如果在构造方法中,this表示正准备构建的对象,在Demo构造方法中,this代表正准备构建的对象Demo,this.name代表Demo中的name属性。构造方法中的name属性只是一个参数,this.name=name表示当我实例化Demo对象时,把传入的参数赋值给当前Demo对象的name属性。

注意:this不可用于静态方法。

super:超级的意思,在程序中super代表着父类的意思,在java中如果类与类之间没有继承关系,那么所有类都继承的是Object类,Object在java中代表超类的意思。

Demo没有显式 的继承任何类,其实他默认的继承了Object类,Demo类已经继承了Object中所有非私有的方法和属性,toString()方法就是Object中的方法,在Demo中进行重写,super.toString()就是调用Demo的父类Object类中的toString()方法。

实例化Demo1对象后,能调用demo()方法,说明Demo1把Demo的demo()方法继承过来了,可以直接调用并且赋值为李四,所以输出的第一条数据是“李四”,调用demo1的时候

第一句话是super.demo("zhangsan"),表示在子类的方法中使用super关键字调用父类的demo()方法,并且赋值为"zhangsan“,所以第二行输出为zhangsan,当父类的demo 方法执行完后,最后执行的当前方法输出demo1.

最后的输出结果:

 

标签: java Java 关键字
共有 人打赏支持
粉丝 0
博文 8
码字总数 2060
×
涂涂tutu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: