Java super关键字(超详细!)

本文详细介绍了Java中的super关键字,包括super()的使用、作用和注意事项。通过对比this和super,阐述了super在构造方法中的重要性,指出super()用于在子类构造方法中调用父类构造方法,确保对象初始化的顺序。同时强调了super关键字不是引用,而是代表对象内的父类型特征。
摘要由CSDN通过智能技术生成

1.什么是super?

super是一个关键字,全部小写。

2.怎么学?super和this对比着学习。

this:

  1. this能出现在实例方法构造方法中。
  2. this的语法是:“this.”、“this()
  3. this 不能 使用在静态方法中。
  4. this. 大部分情况下是可以省略的。
  5. this.什么时候不能省略呢? 在区分局部变量和实例变量的时候不能省略。

eg.

public void setName(String name){
   
	this.name = name;
}
  1. this() 在构造方法里,只能出现在构造方法第一行,通过当前的构造方法去调用“本类”中其它的构造方法
    目的是:代码复用

2021.07.07补充:(感谢 “迷~麟” 指出错误)

  1. this.”可以引用本类的属性方法

  2. this” 可以作为函数的返回值。

eg.

//重新JList渲染类(部分代码)

private rolecolor = red;

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
   

    super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    
       if (isSelected) {
   
           setBackground(this.rowcolor);
           setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));
       }
        
    return this;//返回当前JList对象
}

super:

  1. super能出现在实例方法构造方法中。
  2. super的语法是:“super.”、“super()

2.1 super()

    2.1.1 在恰当的时间使用:super(实际参数列表);

    2.1.2 注意:在构造方法执行过程中一连串调用了父类的构造方法,父类的构造方法又继续向下调用它的父类的构造方法,但是实际上对象只 创建了一个

    2.1.3 “super(实参)”到底是干啥的?

super(实参)的作用是:初始化当前对象的父类型特征
并不是创建新对象。实际上对象只创建了1个。

    2.1.4 super关键字代表什么呀?

super关键字代表的就是“当前对象”的那部分父类型特征

eg.

public class SuperTest03{
   
	public static void main(String[] args){
   

		CreditAccount ca1 = new CreditAccount();
		System.out.println(ca1.getActno() + "," + ca1.getBalance() + "," + ca1.getCredit());

		CreditAccount ca2 =<
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值