重写的方法被子类对象 和父类对象的调用

子类new的对象调用重写方法,父类中的方法不会被执行

public class DemowenApplication implements Cloneable {
    public void  ff(){
        System.out.println("fulei");
    }
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication ff = new Df();
        Df gg= new Df();
        ff.ff();
        gg.ff();
    }
}
class Df extends DemowenApplication{
    public void  ff(){
        System.out.println("zilei");
    }
}

输出结果:zilei  
          zilei

在父类没有被重写的方法中调用被重写的方法时,用子类new的对象调用该未被重写的方法时,他里面调用的重写的方法执行的是子类的,父类的不执行

public class DemowenApplication implements Cloneable {
    public void ff() {
        System.out.println("fulei");
    }
    public void hh(){
        System.out.println("父类没有被重写的");
        ff();
    }
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication ff = new Df();
        Df gg = new Df();
        ff.hh();
        gg.hh();
    }
    
}
class Df extends DemowenApplication {
    public void ff() {
        System.out.println("zilei");
    }
}

输出结果:父类没有被重写的
          zilei
          父类没有被重写的
          zilei
   

当子类被其他类1 继承:类1 没有重写 子类 重写父类的方法

public class DemowenApplication implements Cloneable {
    public void vv () {
        System.out.println("父类");
    }
}
class  Dv extends DemowenApplication{
    public void vv () {
        System.out.println("子类");
    }
}
class Dh extends Dv{
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication hh = new Dh();
        Dv ff = new Dh();
        Dh ss = new Dh();
        ss.vv();
        hh.vv();
        ff.vv();
    }
}
输出结果:子类
          子类
          子类

当子类被其他类1 继承:类1 重写 子类 重写父类的方法

public class DemowenApplication implements Cloneable {
    public void vv () {
        System.out.println("父类");
    }
}
class  Dv extends DemowenApplication{
    public void vv () {
        System.out.println("子类");
    }
}
class Dh extends Dv{
    public void vv () {
        System.out.println("类1:DH");
    }
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication hh = new Dh();
        Dv ff = new Dh();
        Dh ss = new Dh();
        ss.vv();
        hh.vv();
        ff.vv();
    }
}
输出结果:类1:DH
          类1:DH
          类1:DH

父类new的对象调用在子类中重写方法,只会执行父类中的方法,不会执行子类中的方法

public class DemowenApplication implements Cloneable {
    public void  ff(){
        System.out.println("fulei");
    }
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication ff = new DemowenApplication ();
        ff.ff();
    }
}
class Df extends DemowenApplication{
    public void  ff(){
        System.out.println("zilei");
    }
}

输出结果:fulei

在父类没有被重写的方法中调用被重写的方法时,用父类new的对象调用该未被重写的方法时,他里面调用的重写的方法执行的是父类的,子类的不执行

public class DemowenApplication implements Cloneable {
    public void ff() {
        System.out.println("fulei");
    }
    public void hh(){
        System.out.println("父类没有被重写的");
        ff();
    }
    public static void main(String[] args) throws UnsupportedEncodingException {
        DemowenApplication ff = new DemowenApplication();
        ff.hh();
    }
}
class Df extends DemowenApplication {
    public void ff() {
        System.out.println("zilei");
    }
}
输出结果:父类没有被重写的
          fulei
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值