zoukankan      html  css  js  c++  java
  • 10月21日动手动脑

    自行编写代码测试以下特性,在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

    package src.afterclass;
    
    public class dongshoudongnao 
    {
        public static void main(String args[])
        {
            EF ef=new EF("张三");
            ef.fly();
        }
    
    }
    class ABC
    {
        private String name;
    
        public  ABC(String name)
        {
            this.name = name;
        }
        public void fly()
        {
            System.out.println("父类");
        }
    }
    class EF extends ABC
    {
        public EF(String name) {
            super(name);
            // TODO Auto-generated constructor stub
        }
    
        public void fly()
        {
            //super.fly();
            System.out.println("子类");
        }
    }

    package src.afterclass;
    
    public class dongshoudongnao 
    {
        public static void main(String args[])
        {
            EF ef=new EF("张三");
            ef.fly();
        }
    
    }
    class ABC
    {
        private String name;
    
        public  ABC(String name)
        {
            this.name = name;
        }
        public void fly()
        {
            System.out.println("父类");
        }
    }
    class EF extends ABC
    {
        public EF(String name) {
            super(name);
            // TODO Auto-generated constructor stub
        }
    
        public void fly()
        {
            super.fly();
            System.out.println("子类");
        }
    }

    第一个是调用的父类的函数,

    第二个调用子类的函数;

    第三个是将子类赋给父类,相当于调用的是子类;

    第五个是将父类强制转化成子类;

    下面哪一个会导致程序运行时错误?

    m=d; d=m; d=(Dog)m; d=c; c=(Cat)m;

    先进行自我判断,得出结论后,运行相关代码,看看你的判断是否正确。

              自我判断:"d=m","d=c"引起编译错误

                    “c=(Cat)m”引起运行时错误

               原因:“d=m”编译错误是因为Mammal类是Dog类的父类,子类中的成员比父类的多,父类无法将子类初始化;

                         “d=c”编译错误是因为两者代表不同的类,不能给对方赋值;

                         “c=(Cat)m”会引起运行时错误是因为Dog类的对象d已将Mammal类的对象m初始化,m被转换为Dog类后不能再转换为Cat类。

  • 相关阅读:
    30个php操作redis经常用法代码样例
    Android语音播报、后台播报、语音识别
    Gym 100733J Summer Wars 题解:灵活运用扫描线的思想
    如何运营一个软件微社区
    关于迭代测试的一些思考
    DirectUI界面编程(五)WindowImplBase的使用
    Zxing实现在线二维码生成程序
    Java二维码生成与解码工具Zxing使用
    DirectUI界面编程(四)界面布局详解
    软件开发中的资源管理
  • 原文地址:https://www.cnblogs.com/1234yyf/p/11748678.html
Copyright © 2011-2022 走看看