super关键字

package com.rgs;

/**
 * super关键字:
 *  1.可以修饰属性和方法
 *  2.在子类的方法中,可以通过 super.属性 super.方法的方式,
 *  显示的去调用父类提供的属性和方法。在通常情况下,super.可以省略不写
 *  3.但在特殊情况下必须要写,
 *          比如:
 *      【1】:当子类的属性和父类重名时,想使用父类的属性就必须要使用 super.属性来进行调用
 *      【2】:当子类的方法和父类重名时,想使用父类的方法就必须要使用 super.方法来进行调用
 *     super修饰构造器:
 *          1.一般情况下,我们写的构造器前面都会有一个super();所以我们一般省略不写
 *          2.如果构造器中有了我们自己声明的super();后,系统就不会再给你分配super();了
 *          3.一个构造器中只能有一个super();或者this();因为他们都是需要放在首行滴
 */
public class Person {
     String name;
     int age = 10;

    public Person() {
        //super();
    }
    public Person(String name,int age){

    }
    public void eat(){
        System.out.println("吃粑粑!");
    }
    public void sleep(){
        System.out.println("想睡觉好累...");
    }
}
package com.rgs;

public class Student extends Person{
    int score;
   int age = 20;
   public Student(){
//super();
   }
   public Student(String s){
       System.out.println("正在进行参数调用...");
   }
   public Student(String name,int age){
       super(name, age);//必须放在首行
      // this("s");必须放在首行,所以一个构造器中只能有他俩其中之一
       this.name = name;
   }
    public void study(){
        System.out.println("在学习中、、、");
    }
    public void a(){
     System.out.println(age);//20
     System.out.println(super.age);//10
     super.eat();
     eat();
    }
    public void eat(){
        System.out.println("正在吃狗粮!");
    }
}
package com.rgs;

public class Test {
    public static void main(String[] args) {
        Student s = new Student();
            s.a();
    }
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值