java super this关键字只能在构造方法中使用吗?并且只能是第一条语句吗?

如题所述

您好,提问者:
    super()是调用父类的构造方法,只能在子类构造方法的第一行。

    this表示当前对象,可以在自类中任何地方使用。

class Person{
    public String name = "哈哈";
    public Person(){
        System.out.println("super Person");
    }
    public void add(){
        System.out.println("Person add()");
    }
}
public class XiaoMing extends{
    public XiaoMing(){
        super(); //只能在构造方法的第一行
        System.out.println("Zi XiaoMing  "+super.name);
        //这个super.name不是构造方法的第一行,因此当super调用父类的构造方法时,必须是在子类构造方法的第一行
    }
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-27
this只能在同一个类中不同的构造方法之间的调用,而super可以用在子类调用父类的其他构造方法,也可用在子类的普通方法(相互是重载关系)调用父类的普通方法(子类与父类对应的是重写关系)。
第2个回答  2014-05-27
this表示当前对象,也就是当前类对象,super表示当前类的父类。
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:test();B中也有个方法: test();

那么在A 中用this.test()调用的就是A中定义的方法,而super.test()调用的就是A的父类B中定义的方法test();追问

我不是说用法,我只是想知道super和this是否只能在构造函数中使用

追答

肯定不是的啊!你自己可以写个简单的案例试一下

楼下的已经说的很明白了!

java super this关键字只能在构造方法中使用吗?并且只能是第一条语句...
您好,提问者: super()是调用父类的构造方法,只能在子类构造方法的第一行。this表示当前对象,可以在自类中任何地方使用。class Person{ public String name = "哈哈"; public Person(){ System.out.println("super Person"); } public void add(){ System.out.println("P...

JAVA中this和super用法
this关键字实质上指向的是创建对象的地址,它在构造方法内部可用,允许引用当前对象。在构造方法中调用其他构造方法时,this必须放在第一行,且只能调用一次。super关键字指向父类对象。若构造方法未显式调用父类构造方法,则编译器会自动添加super()。若父类无默认构造方法,会引发编译错误。super()语句需...

Java中super关键字及super()的使用
1. super的使用:super是一个关键字,与this类似,用于区分实例变量和局部变量。2. super能出现在实例方法和构造方法中,语法是"super."和"super()"。3. super不能出现在静态方法中,大部分情况下可以省略。4. super在区分局部变量和实例变量时不能省略。例如:在方法中定义了局部变量与实例变量同名...

this和super 关键字有什么作用
3) super可以调用直接父类的构造方法,只限构造方法中使用,且必须是第一条语句。

Java关键字 this 和 super 的理解
Java关键字this、super使用总结 一、this Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final...

Java中this和super的使用详解及异同之处
我们分析这句话父类对象的引用,那说明我们使用的时候只能在子类中使用,既然是对象的引用,那么我们也可以用来调用成员属性以及成员方法,当然了,这里的super关键字还能够调用父类的构造方法。 具体有如下几种用法:1、调用父类的构造方法 Java中的继承大家都应该了解,子类继承父类,我们是能够用子类的对象调用父类的属性...

super和this关键字怎么用?
super与this关键字的使用 构造器中指该构造器所创建的新对象;super与this关键字的使用 方法中指调用该方法的对象;super与this关键字的使用在类本身的方法或构造器中引用该类的实例变量和方法。this只能用在构造器或者方法中,用于获得调用当前的构造器、方法的对象引用。可以和任何的对象引用一样来处理这个...

java中的super()是什么
要说super就先要说this。"this",作为一个特殊的关键字,它的规则如下:1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有...

java中的super()是什么
在Java编程中,"super"是一个关键术语,它与"this"密切相关但又有独特的用法。首先,"this"关键字在构造函数中用于调用另一个构造函数,尽管看似变量,但它并非真正的变量,而是表示当前对象的引用。"this"是一个final变量,具有静态类型(类C)和动态类型(当前对象类型),可以用于调用类的方法和传递...

java 关于继承中的super() 方法
1. super关键字表示超(父)类的意思。this变量代表对象本身。2. super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。其中超类是最近的父类。3.调用super() 父类构造函数的时候只能调用在子类构造函数的第一行 4.this只能在...

相似回答