码迷,mamicode.com
首页 > 编程语言 > 详细

JavaSE基础知识(5)—面向对象(5.5 this和super关键字)

时间:2018-08-23 14:19:50      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:类成员   引用   调用   父类   子类   上层   margin   通过   style   

一、this关键字

1、说明

this关键字代表当前类的对象,可以访问本类的属性、方法、构造器
注意:谁调用该方法,则this就指谁

2、语法

访问属性:
  this.属性名 = 值;
  System.out.println(this.属性名);
访问方法:
  this.方法名();
访问构造器:
  this([参数列表]);

3、注意事项

一般来讲如果本类内部访问当前类的成员,则直接访问即可,默认也是通过this调用的。
当局部变量和成员变量重名时,则必须通过this才能调用到成员变量!

二、super关键字 

1、说明

super代表了在子类中获取到的父类的引用,可以访问父类的属性、方法、构造器

2、语法

super.属性名 = 值;
super.方法名(参数列表);
super(参数列表);只能放在构造器的第一句

3、注意事项

①当子类成员和父类成员重名时,在子类中,默认访问的是本类的成员,如果需要访问父类的成员,则需要通过super访问
②当父类没有无参构造器时,子类必须通过super显式调用父类的有参构造器

4、特点

①super先去访问直接父类的成员,如果没有将一直往上追溯,直到Object类
②如果父类和上层的间接父类都有某同名成员,访问时遵循就近原则

三、this和super对比

  说明 访问属性或方法 访问构造器
this 当前类的对象

先去找本类中是否有该成员,如果有,直接访问,

如果没有继续向找父类,直到找到

this(参数列表);

只能放在构造器的第一句,用于访问本类的构造器

super 父类的引用

先去找直接父类是否有该成员,如果有,直接访问,

如果没有继续向上找其他父类,直到找到

super(参数列表);

只能放在构造器的第一句,用于访问父类的构造器

JavaSE基础知识(5)—面向对象(5.5 this和super关键字)

标签:类成员   引用   调用   父类   子类   上层   margin   通过   style   

原文地址:https://www.cnblogs.com/truthseeking/p/9522971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!