super、this关键字

    在java中,有时还会遇到子类中的成员变量或方法与超类中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏超累的成员变量或方法,但是我们如果想要使用超类中的成员变量或者方法,就需要用到super。

为了在子类中引用超类中的成员变量name和方法value(),在代码中使用了super、super.name和super.value()。

如果想要使用超类的构造函数,则应当使用super(参数列表)的形式。


    this关键字使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。

1.在参数或局部变量名与类成员变量名相同的时候,由于参数或局部变量的优先级高,这样在方法体中参数名或局部变量名将隐藏同名的成员变量,因此,为了指明成员变量,必须使用this显式地指明当前对象。

2.有时会遇到 全面访问当前对象,而不是访问某一个个别的实例对象,此时也可以使用this,并利用java中的toString()方法。如果把任何一个对象传递到System.out.println方法中,这个方法调用这个对象的toString方法,并打印出结果字符串,所以,可以用System.out.println(this)方法打印出固有参数的当前状态。

3.this还有一个用法,就是构造函数的第一个语句,它的形式是this(参数表),这个构造函数就会调用同一个类的另一个相对的构造函数。

猜你喜欢

转载自blog.csdn.net/weixin_42230824/article/details/87929867