super的使用

关于Super()的用法
1.Super()只能用在子类的构造方法中使用,在其它地方使用存在编译错误。
2.super()构造的父类只有在子类中有效,离开子类无法使用。
3.super.的调用的是由在子类构造的时候使用了super()的无参或者有参构造出来的父类。
4.当父类为有参构造而不写无参构造的时候,我们子类构造方法必须拥有父类的构造方法就需要用Super(String xx,int no)的构造方法将把父类构造出来才能继续构造子类。

public class Main{
  public static void main(String[] args) {
    Cat c1 = new Cat(3);
    System.out.println( ",年龄:" + c1.getage());
  }
}
class Animal {
  int age;
Animal(int age){
  this.age=age;
}
  public void setAge(int age) {
    this.age = age;
  }
  **public Animal() {
  }**//如果不存在无参构造报错。
  public int getAge() {
    return age;
  }
}
class Cat extends Animal{
  private int age;
  public void setage(int age) {
    this.age = age;
  }
  public int getage() {
   age=super.getAge();//调用的是无惨构造出来的
    return age;
  }
  public Cat() {
  }
  public Cat(int age) {
    this.age = age;
  }
}

5.当存在子类没有重写父类的方法时候,此时使用this.与super. 的结果相同如以下代码。

class People{
    private String name;
    public People( String name) {
this.name = name;
    }
    public String getName() {
        return name;
    }
}

class Student extends People{

    public Student(String name) {
super(name);
   
    }
    public String toString(){
        return ("(Name:" + super.getName())//可以替换成this.getName()0
             

}}
public class Main {
    public static void main(String[] args) {
        Student zs = new Student("370202X");
        System.out.println(zs);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值