this和super的用法

1:this
/**
 * this关键字用来访问本类内容也有三种:
 * 1:在本类成员方法中,访问本类的成员变量。
 * 2:在本类成员方法中,访问本类的另一个成员方法。
 * 3:在本类成员方法中,访问本类的另一个构造方法。
 * this(...);也必须是构造方法的第一个语句,唯一一个。
 * super和this两种构造调用不能同时使用。
 */
public class This001 {
    public static void main(String[] args) {
        Mii mc = new Mii();
        mc.muc();
        mc.mmm();
    }
}

class Mcc {
    int aa = 30;
}

class Mii extends Mcc {
    int aa = 10;
    public Mii(){//无参构造
        this(100);//本类当中的无参构造,调用本类当中的有参构造。
    }
    public Mii(int s){//有参构造
        System.out.println(s);
    }
    public void muc() {
        int aa = 20;
        System.out.println(aa);//局部变量
        System.out.println(this.aa);//访问本类当中的成员变量
        System.out.println(super.aa);//访问父类的成员变量
    }
    public void cmm(){
        System.out.println("看一看");
    }
    public void mmm(){
        this.cmm();//访问本类的另一个成员方法。
        System.out.println("瞧一瞧");
    }
}

2:super

/**
 * 父类super关键字的用法有三种;
 * 1:在子类的成员方法中,访问父类的成员变量。
 * 2:在子类的成员方法中,访问父类的成员方法。
 * 3:在子类的成员方法中,访问父类的构造方法。
 */
public class Super001 {
    public static void main(String[] args) {
        Lzi mc = new Lzi();
        mc.moth();
        mc.sb();
    }
}
class Lfu{
    int ac = 20;//成员变量
    public void sb(){//成员方法
        System.out.println("你在狗叫什么");
    }
    public Lfu(){//构造函数
        System.out.println("wc");
    }
}
class Lzi extends Lfu{
    int ac = 30;
    public void moth(){
        System.out.println(super.ac);//访问父类的成员变量。
        System.out.println(ac);//访问子类的成员变量。
    }
    public void sb(){
        super.sb();//访问父类的成员方法。
        System.out.println("你在看什么");//访问子类的成员方法。
    }
    public Lzi(){//构造函数
        super();//调用父类的构造函数
        System.out.println("mc");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值