java语言super和this_JAVA语言开发中this和super区别及诶下

本文主要向大家介绍了JAVA语言开发中this和super区别及诶下,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

以前一直以为super和this引用时同一个类似的概念,但是实际上,this是一个对象的引用,而super只是一个指示编译器调用超类方法的特殊关键字。

看例子:

public class TestThisSuper {

public static void main(String[] args) {

Son son=new Son("BBB",12);

son.say();

System.out.println(son);

}

}

class Father{

public String name;

private int age;

public Father(){

}

public Father(String name,int age){

this.name=name;

this.age=age;

}

public void say(){

System.out.println("Father");

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

class Son extends Father{

public Son(String name,int age){

super(name,age);

}

public void say(){

System.out.println("Son:"+getName()+getAge());

System.out.println(this);

}

}

`

运行结果:

Son:BBB12

Son@4554617c

Son@4554617c

说明this是一个对象的引用。

在Son类中say()方法中加句话

class Son extends Father{

public Son(String name,int age){

super(name,age);

}

public void say(){

System.out.println("Son:"+getName()+getAge());

System.out.println(this);

System.out.println(super);

}

}

`

有问题,编译都通过不过。这个应该是this和super最大的区别了。

this用途:一是引用隐式参数,二是调用该类的其它的构造函器。

super用途:一个调用超类的方法,二是调用超类的构造函器。

在调用构造器的时候,this和super的使用方式很相似。调用构造器的语句只能作为另一构造器的第一条语句出现。构造参数既可以传给本类的其它构造器,也可以传给超类的构造器。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值