JAVA基础——关键字

this关键字

  1. this可以用来修饰属性名、方法和构造器

  2. this修饰属性和方法
    a)this代表当前对象。解决方法的形参和属性重名的问题。
    b)在构造器中时,this代表当前构造的对象。

  3. this修饰构造器
    a)在类的构造器中,可以显示的使用this(形参列表)调用本类中指定的其他构造器
    b)构造器中不可以使用this调用自己
    c)如果有n个构造器,最多可以有n-1个构造器使用this();
    d)*构造器this必须放在构造器的首行
    e)一个构造器中最多可以使用一个this(形参)

	//对象比较大小
    public int compare(Girl girl){   
        return this.age- girl.age;  //如果是负数,代表当前对象小,大于0则表示当前对象大
    }

super关键字

  1. super可以调用:属性、方法、构造器
  2. 在子类和父类有相同的属性和方法时,想在子类的方法或构造器中使用父类的方法和属性时需要通过super来决定调用父类的属性和方法,否则默认为this。
  3. 如果子类中没有和父类相同的属性和方法时,super可以不写。
  4. super()的使用,必须声明在构造器的首行。(与this矛盾,只能写一个)
  5. 如果两个都不写,在子类的构造器中默认调用的是super()
/**
 * @ClassName KeyWord
 * @Description TODO
 * @Author 王琛
 * @Date 2019/8/20 20:53
 * @Version 1.0
 */
public class KeyWord {
    public int id;
    public String name;
    public int age;

    public KeyWord(){
        System.out.println("父类构造器");
    }

    public void printInfo(){
        this.name = "zhangsan";
        this.age = 29;
        this.id = 1;
    }

    public static void main(String[] args) {
        SubKey subKey =new SubKey();
        subKey.printInfo();   //交换这两行会出现不同的输出
        subKey.printInfo1();       //这行会给父类的id赋值。
    }

}

class SubKey extends KeyWord{
    private String sex;
    private int id;

    public SubKey(){
        System.out.println("子类构造器");
    }  //默认调用父类的构造器,super();

    public void printInfo1(){
        super.printInfo();
        name = "zhangsan";
        age = 29;
        id = 3;
        sex ="男";
        System.out.println("name:"+name+" ;age:"+age+" ;id:"+id+" ;sex:"+sex);
    }

    public void printInfo(){
        name = "zhangsan";
        age = 29;
        id = 3;

        System.out.println("name:"+name+" ;age:"+age+" ;id:"+id+" ;id:"+super.id);  //获取不到父类的私有属性的值
    }

}

在这里插入图片描述
交换后
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值