super和this关键字

一. super关键字

super 表示使用它的类的父类。super 可用于:

  • 调用父类的构造方法;
  • 调用父类的方法(子类覆盖了父类的方法时);
  • 访问父类的数据域(可以这样用但没有必要这样用)。

调用父类的构造方法语法:

super();  

或   

super(参数列表);注意:super 语句必须是子类构造方法的第一条语句。不能在子类中使用父类构造方法名来调用父类构造方法。 父类的构造方法不被子类继承。调用父类的构造方法的唯一途径是使用 super 关键字,如果子类中没显式调用,则编译器自动将 super(); 作为子类构造方法的第一条语句。

调用父类的方法语法:

super.方法名(参数列表);

如果是继承的方法,是没有必要使用 super 来调用,直接即可调用。但如果子类覆盖或重写了父类的方法,

则只有使用 super 才能在子类中调用父类中的被重写的方法。

二. this关键字

this 关键字表示当前对象。可用于:

  • 调用当前类的构造方法,并且必须是方法的第一条语句。如:this(); 调用默认构造方法。this(参数); 调用带参构造方法。
  • 限定当前对象的数据域变量。一般用于方法内的局部变量与对象的数据域变量同名的情况。如 this.num = num。this.num 表示当前对象的数据域变量 num,而 num 表示方法中的局部变量。
 

原文地址:https://www.cnblogs.com/houchen/p/10421294.html

时间: 2024-10-21 23:01:53

super和this关键字的相关文章

java的super和this关键字用法总结

------super关键字------ super用途:在子类中访问超类“被隐藏的成员变量(无论是否静态)和静态方法”以及“被重写的实例方法”.这里的超类必须是“直接超类”,即子类之上最近的超类.        super的用法:        ①在子类构造方法中调用超类的构造方法,用“super(ParamList)”的方式调用,ParamList根据超类构造方法而定,可以为空.另外super(ParamList)必须是子类构造方法的第一句.        ②当超类的成员变量因与子类的成员变

Java修饰符------>static、native和final以及super和this关键字

修饰符修饰符的作用是让被修饰的内容具备特定的功能,在程序中合理使用修饰符可以在语法和功能上实现很多需要的效果.Java 语言中的修饰符主要有 5个:static.final.native.abstract 和 synchronized.这里首先讲解 static.final 和 native 的作用. static 修饰符static 关键字的中文意思是静态的,该修饰符可以修饰成员变量,成员常量和成员方法.使用该关键字修饰的内容,在面向对象中 static 修饰的内容是隶属于类,而不是直接隶属于

JAVA中的super和this关键字的使用

一 this关键字 this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生. this主要有两种用法: 1 用在构造方法中,调用本类的其他构造方法.  格式为  this([实参列表]);   通过this调用本类的其他构造方法时,该语句必须出现在构造方法中,并且必须作为第一条语句出现. 2 代指当前对象 例如: 1 public class Person { 2 3 private String name; 4 5 pr

Java_类与对象03_封装和private、this、super、static关键字

A    封装:类中的成员变量为private(私有),为私有的成员变量提供公有的get()或set(). 封装的好处: i.      隐藏实现细节,提供共有的访问方式 ii.     提高了代码的复用性 iii.    提高安全性 封装的原则(思想): i.      将不需要对外提供的内容隐藏起来 ii.     把属性隐藏,提供公共方法对其访问 封装的体现:private是封装的一种体现. B    private: i.      是一个权限修饰符 ii.     可以修饰成员(成员变

super和final关键字

一.super关键字 super关键字的使用 JAVA类中使用super来引用父类的属性或者方法,用this来引用当前对象,主要用法: 1.子类的构造函数默认第一行会默认调用父类的无参数构造函数 2.子类显示调用父类的构造函数 3.访问父类的属性和函数 输出结果: 注意:java中,Object类是有类的父类. 二final关键字 java中的常量与变量,常量是程序运行过程中其值不能改变,变量正好与之相反,变量是用于存储可变数据的容器.谈到常量,第一时间想起的是String类,Java中的Str

谈谈java中的super和this关键字

知识点: 在java类中使用super引用父类的成分,用this引用当前对象 this可以修饰属性.构造器.方法 super可以修饰属性.构造器.方法 一:this关键字 this可以修饰属性.构造器.方法:用this引用当前对象 (1)this修饰属性,调用类的属性 //set方法public void setName(String name) { this.name = name;} //有参数构造函数 public Person(String name){ this.name=name;}

super、this关键字

super调用(父类) 调用方法   语法: super.父类方法名(形参列表);        可以在子类方法和构造器中使用,调用父类被覆盖的方法. 实例变量 语法: super.父类实例变量名;        可以在子类方法或构造器中使用,调用父类被覆盖的实例变量. 构造器 语法: super(实参列表); 1.只能出现在子类构造器中,且是代码首行,所以这里super和this调用构造器不能同时出现. 2.当调用子类构造器来初始化子类对象时,当前类默认的无参构造器中会有super():也就是

浅谈Java泛型中的extends和super关键字(转)

泛型是在Java 1.5中被加入了,这里不讨论泛型的细节问题,这个在Thinking in Java第四版中讲的非常清楚,这里要讲的是super和extends关键字,以及在使用这两个关键字的时候为什么会不同的限制.    首先,我们定义两个类,A和B,并且假设B继承自A.下面的代码中,定义了几个静态泛型方法,这几个例子随便写的,并不是特别完善,我们主要考量编译失败的问题: public class Generic{ //方法一 public static <T extends A> void

super关键字

super关键字代表了父类空间的引用. super关键字的 作用:  1. 子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员.  2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法. super关键字调用父类构造方法要注意的事项:  1. 如果在子类的构造方法上没有指定调用父类的构造方法,那么java编译器会在子类的构造方法上面加上super()语句.  2. super关键字调用父类的构造函数时