zoukankan      html  css  js  c++  java
  • java多态之方法调用

    分为四种情况:
    1.第一种情况:父类中有,而子类中没有的方法
    2.第二种情况:父类中没有,而子类中有的方法
    3.第三种情况:父类中有,子类中也有的方法
    4.第四种情况:父类和子类都有,但都是静态方法
    代码举例分析:
    父类:SuperClass
    子类:SubClass
    方法:父类中:doWork1()doWork()static doWork3()
              子类中:doWork2()doWork()static doWork3()

        public static void main(String[] args) {
            SuperClass a=new subClass();
    
            //第一种情况:父类中有,而子类中没有的方法
            a.doWork1();//输出:SuperClass.doWork1,调用了父类中存在的方法
    
            //第二种情况:父类中没有,而子类中有的方法
            //a.doWork2();//编译错误,因为编译的时创建的是编译类型,也就是SuperClass类型,
                        //而该类中没有doWork2()方法,会报错
    
            //第三种情况:父类中有,子类中也有的方法
            a.doWork();//输出:subClass.doWork,体现了多态的特性,调用了子类特定的方法(对象的运行类型)
    
            //第四种情况:父类和子类都有,但都是静态方法
            a.doWork3();//输出:SuperClass.doWork
            /*
             * 分析:静态方法和对象没有关系,访问时用的类名调用(SuperClass.doWork()),也就是用的时编译类型,即父类中的方法.
             *       这种情况称为隐藏,而不是覆盖。只有与对象有关的才称为覆盖。
             */
        }
    }
    class SuperClass{
        public void doWork1(){//只在父类
            System.out.println("SuperClass.doWork1");
        }
        public void doWork(){//子类父类都有
            System.out.println("SuperClass.doWork");
        }
        public static void doWork3(){//子父类都有的static方法
            System.out.println("SuperClass.doWork");
        }
    }
    class subClass extends SuperClass{
        public void doWork2(){//只在子类
            System.out.println("subClass.doWork2");
        }
        public void doWork(){//子类父类都有
            System.out.println("subClass.doWork");
        }
        public static void doWork3(){//子父类都有的static方法
            System.out.println("subClass.doWork");
        }
  • 相关阅读:
    Canvas 五角星绘制
    Bob Waters
    自定义样式,使用浏览器阅读epub格式的电子书
    FileZilla Server ftp 服务器下通过alias别名设置虚拟目录(多个分区)
    【转载】什么样的妻子什么样的人生
    win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)
    这世上,没有完美的父母,也没有完美的孩子
    考研数学复习建议与资料
    eclipse中修改jsp文件中内容,但是刷新网页内容却不变问题
    JavaScript基础2
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286826.html
Copyright © 2011-2022 走看看