Java常见问题之this()和super()的用法

this()用法:

一个构造函数可以使用this()来调用同一个类的另外一个构造函数。

一个构造函数最多只能调用一次this(),且this()只能作为构造函数的第一条语句。

super()用法:

一个构造函数使用super()来调用父类的构造函数。

如果没有为一个类编写构造函数,则编译器会自动构造一个不带参数的构造函数,且构造函数中只有一条语句super();。

如果为一个类编写了构造函数,但是构造函数中没有调用super(),则编译器会自动在构造函数的起始位置中添加语句super();。

super()只能调用父类中不带参数的构造函数,如果需要调用父类中带有参数的构造函数,则需要在构造函数的起始位置显示调用super(...),并传入相应的参数。

注意:每个构造函数只能选择调用super()和this()中的一个,不能同时调用。

时间: 2024-08-12 12:07:46

Java常见问题之this()和super()的用法的相关文章

Java学习笔记---继承和super的用法

自从换了个视频教学,感觉比原来那个好多了,就是学校网速太渣,好多视频看一会卡半天,只能先看看已经下载的了. 不过也好,虽然不能从开始开始重新开,但是已经看过一次,在看一次也是好的,就当巩固学习了. 继承的关键字:extends 格式如下: class 子类名 extends父类名{ ... } 例如 学生是继承人类这一父类的. class student extends person{ ... } 如果一个类的声明没有使用关键字extends,则这个类默认是继承Object类的.Object是所

关于Java中this和super的用法介绍和区别

1.this&super 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的.要注意的是this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this.his也可作为构造函数来使用.在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类.super的作用同样是可

Java—static、this、super用法总结

    通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.(理解为加了static的就是全局变量)但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的.  好了,现在开始讨论this&super这两个关键字的意义和用法.  在Java中,this通常指当前对象,super则指父类的(super能继承父类的方法).当你想要引用当前对象的某种东西,

java中 this 和super的用法

通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论this&super这两个关键字的意义和用法. 在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,

JAVA构造器、this、super

构造器是为了创建一个类的实例.这个过程也可以在创建一个对象的时候用到: Platypus p1 = new Platypus(); 相反,方法的作用是为了执行java代码. 修饰符,返回值和命名的不同 构造器和方法在下面三个方便的区别:修饰符,返回值,命名.和方法一样, 构造器可以有任何访问的修饰: public, protected, private 或者没有修饰(通常被package 和friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, fina

super 的用法

通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的.  好了,现在开始讨论this&super这两个关键字的意义和用法.  在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目

黑马程序员 面向对象(上) 封住,继承,多态,以及this和super的用法

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ----------------------/* * 一.类的继承: 当多个类出现了相同的属性和行为时,我们可以把这些类中相同的属性和行为抽取出来 成为独立的一个类,然后让这些类分别去继承抽取类,再根据自己需求去实现别的功能 这样大大的增强的相同代码的复用性,也使代码变得美观 我们把这个抽取类叫做这些类的父类,这些类叫做抽取类的子类,子类是可以继承父类中 的所有信息. 在Java中所有的类

Java四个关键字 this super final static

一.this ? 关键字主要有三个应用: this调用本类中的属性,也就是类中的成员变量: this调用本类中的其他方法: this调用本类中的其他构造方法初始化对象,调用时要放在构造方法的首行. 引用成员变量 Public Class Student { String name; //定义一个成员变量name private void SetName(String name) { //定义一个参数(局部变量)name this.name=name; //将局部变量的值传递给成员变量 } } ?

java中import、package作用和用法

  有些人写了一阵子 Java,可是对於 Java 的 package 跟 import 还是不 太了解很多人以為原始码 .java 档案中的 import 会让编译器把所 import 的程式通通写到编译好的 .class 档案中,或是认為 import 跟 C/C++ 的 #include 相似,实际上,这是错误的观念. 让我们先了解一下,Java 的 package 到底有何用处. 其实,package 名称就像是我们的姓,而 class 名称就像是我们的名字 .package 名称有很多