Android java语言super的用法和实例测试

一、super 可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。

二、super有三种用法

       1.子类引用父类的变量

       2.子类引用父类的方法

       3.在子类的构造方法中引用父类构造函数

三、子类引用父类的变量以及子类引用父类的方法测试

       1、源码

Country.java
public class Country {

    public String name="ENGLISH";
    public void getName()
    {
        System.out.println("father class "+name);
    }
}


demo .java
public class demo extends Country{
    private String name="london";

    @Override
    public void getName() {
        super.getName();
        System.out.println("Son class "+name);

        System.out.println(name);
        System.out.println(super.name);

    }

    public static void main(String[] args) {
        demo b=new demo();
        b.getName();

    }
}

2、运行结果

 四、在子类的构造方法中引用父类构造函数

       1、super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。

       2、编译器会自动在子类构造函数的第一句加上 super() 来调用父类的构造函数;可以省略不写,如果想写上的话必须在子类构造函数的第一句,可以通过super来调用父类其他重载的构造方法,只要相应的把参数传过去就好。

       3、源码

Person.java

class Person {
    Person() {
        System.out.println("父类·无参数构造方法: "+"A Person.");
    }//构造方法(1)

    Person(String name) {
        System.out.println("父类·含一个参数的构造方法: "+"A person's name is " + name);
    }//构造方法(2)
}


demo.java

public class demo extends Person {
    demo() {
        super(); // 调用父类构造方法(1)
        System.out.println("子类·调用父类 无参数构造方 "+"A chinese coder.");
    }

    demo(String name) {
        super(name);// 调用父类具有相同形参的构造方法(2)
        System.out.println("子类·调用父类 含一个参数的构造方法 "+"his name is " + name);
    }

    demo(String name, int age) {
        this(name);// 调用具有相同形参的构造方法(3)
        System.out.println("子类:调用子类具有相同形参的构造方法:his age is " + age);
    }

    public static void main(String[] args) {
        demo cn = new demo();
        System.out.println("\n\n***************************************\n\n");
        cn = new demo("weihonghua");

        System.out.println("\n\n***************************************\n\n");
        cn = new demo("weihonghua", 18);
    }
}

       4、测试运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值