java漫谈super

public class SuperTest1 {
    public static void main(String[] args) {
        Cats c = new Cats();
        c.catchMouse();

    }
}

class Animals{
    public void move(){
        System.out.println("Animals move");
    }
}

class Cats extends Animals{
    public void move(){
        System.out.println("Cat move");
    }
    public void catchMouse(){
        System.out.println("Cat catchMouse");
        this.move();//当前类中方法
        move();//默认当前类中方法
        super.move();//父类中方法

    }
}

运行结果

Cat catchMouse
Cat move
Cat move
Animals move

进程已结束,退出代码0

------------------------------------------------------------------------------------------------

public class SuperTest1 {
    public static void main(String[] args) {
        Cats c = new Cats();
        c.catchMouse();

    }
}

class Animals{
    public void move(){
        System.out.println("Animals move");
    }
}

class Cats extends Animals{
    /*
    public void move(){
        System.out.println("Cat move");
    }
    */
     
    public void catchMouse(){
        System.out.println("Cat catchMouse");
        this.move();//当前类中没有找父类
        move();//当前类中没有找父类
        super.move();

    }
}

运行结果

Cat catchMouse
Animals move
Animals move
Animals move

进程已结束,退出代码0

------------------------------------------------------------------------------------------------

public class AAAA {
    public static void main(String[] args) {
        new Gd();

    }
}

class Fd{
    public Fd(int i) {
        System.out.println("fd");
        System.out.println(i);
    }
}
class Gd extends Fd{
    public Gd() {
        this("mingxia");//调用有参构造方法
    }
    public Gd(String name){
        super(200);//调用父类构造方法
        System.out.println(name);
    }
}

运行结果

fd
200
mingxia

进程已结束,退出代码0

------------------------------------------------------------------------------------------------

public class BBB {
    public static void main(String[] args) {
        new Hj();
    }
}
class Fh{
    public Fh() {
        System.out.println("fh");
    }
}
class Hj extends Fh{
    public Hj() {
      //super();默认调用父类无参构造方法,但是大多数情况下省了不写
        System.out.println("Hj");
    }
}

运行结果

fh
Hj

进程已结束,退出代码0

总结:
1.super.属性名 访问父类的属性
2.super.方法名 (实参) 访问父类的方法
3.super(实参) 调用父类的构造方法

super()只能出现在构造方法第一行,通过当前的构造方法去调用“父类”中的构造方法。目的是;创建子类对象的时候,先初始化父类特征

super只能出现在实例方法和构造方法中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值