super与this

1.**super的两种用法**

在构造方法中,可以使用this或super调用其他的构造方法
super()
作用:调用父类的构造器
只能出现在子类的构造器中,且必须是第一行
super()中的参数,决定了调用父类哪个构造器
如果子类构造器中没有出现super,那么编译器会默认加上super(),即调用父类的空构造器,如果父类没有空构造器,编译器提示错误。

name = "子类名字";
        super.name = "父类的名字";
        System.out.println(name);//使用super.name显示调用父类的属性
        //如果不加super,那么打印得失子类的name属性

**this三种用法**

**方法一定有小括号。没有参数小括号不能省略。**

![*](file:///C:\Users\ADMINI~1\AppData\Local\Temp\art190F.tmp)this()

![*](file:///C:\Users\ADMINI~1\AppData\Local\Temp\art1910.tmp)作用:调用本类的构造器

![*](file:///C:\Users\ADMINI~1\AppData\Local\Temp\art1911.tmp)只能写在构造器的第一行、

![*](file:///C:\Users\ADMINI~1\AppData\Local\Temp\art4282.tmp)在同一个构造器中super()和this()不能同时出现

**this第二个用法**

当一个成员方法中(非静态方法中),局部变量和成员变量同名的时候,局部变量会屏蔽成员变量,我们需要使用this.成员变量     显示的调用成员变量。

public class Student{

private int a;//成员变量a

public void setA(int a)//这个int a是局部变量和成员变量a同名,在方法setA中,局部变量a会屏蔽成员变量a

{

a = a;//此时两个a都是局部变量。

}

}

public void setName(String name) {

        this.name = name;
    }
java编程规范固定,成员方法引用成员变量,一定加this.name

**this的第三种用法,是this代表当前对象的引用,用来做实参**
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值