java中的supper使用

来源:互联网 发布:学生管理系统java界面 编辑:程序博客网 时间:2024/06/05 16:01
1.在Java中,有时还会遇到子类中的成员变量或方法与超类(有时也称父类)中的成员变量或方法同名,因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量和方法就隐藏了超类的成员变量或方法,但是我们如果想要使用超类中的这个成员变量或方法,此使就需要用到super,请看下面的类。
   class Country
   {
    String name;
    void value()
    {
     name="China";
    }
   }
  下面的子类中,自类的成员变量和方法隐藏了超类的成员变量name和方法value(),
   class City extends Country
    String name;
    void value() 
    {
     name="Beijing";
     super.value();
     System.out.println(name);
     System.out.println(super.name);
    }
 
   为了在子类中引用超类中的成员变量name和方法value(),在代码中我们使用了super,super.name和super.value();
   所以显示的结果为
   Beijing
   China

2.如果我们想要使用超类的构造函数则应当使用super(参数列表)的形式。 

3.

/** * Created by zhangwenqiang on 2016/10/24. */public class Java8DefaultMethods {    public static void main(String args[]){        Vehicle vehicle = new Car();        vehicle.print();    }}interface Vehicle {    default void print(){        System.out.println("I am a vehicle!");    }    static void blowHorn(){        System.out.println("Blowing horn!!!");    }}interface FourWheeler {    default void print(){        System.out.println("I am a four wheeler!");    }}class Car implements Vehicle, FourWheeler {    public void print(){        Vehicle.super.print();        FourWheeler.super.print();        Vehicle.blowHorn();        System.out.println("I am a car!");    }}

0 0
原创粉丝点击