zoukankan      html  css  js  c++  java
  • JAVA类的继承之多态特性

      父类可以接收子类的实例,方法的覆盖,属性的隐藏,这些都使我非常疑惑,今天有点时间记录之。

      话不多说,直接上代码上结果

    1.

    public class TestDto{
        public static void main(String[] args) {
            ClassInitializeChild child=new ClassInitializeChild();
            System.out.println(child.name);
        }
    }
    class ClassInitializeParent{
        public String name="parent";
        public void print(){
            System.out.println("parent="+name);
        }
        public ClassInitializeParent(){
            print();
        }
    }
    class ClassInitializeChild extends ClassInitializeParent{
        public String name="child";
        public void print(){
            System.out.println("child="+name);
        }
        public ClassInitializeChild(){
            print();
        }
    }

      结果:

      

    child=null
    child=child
    child

    2.

    public class TestDto{
        public static void main(String[] args) {
            ClassInitializeParent parent=new ClassInitializeChild();
            System.out.println(parent.name);
        }
    }
    class ClassInitializeParent{
        public String name="parent";
        public void print(){
            System.out.println("parent="+name);
        }
        public ClassInitializeParent(){
            print();
        }
    }
    class ClassInitializeChild extends ClassInitializeParent{
        public String name="child";
        public void print(){
            System.out.println("child="+name);
        }
        public ClassInitializeChild(){
            print();
        }
    }

      结果:

      

    child=null
    child=child
    parent

    3.

    public class TestDto{
        public static void main(String[] args) {
            ClassInitializeParent parent=new ClassInitializeChild();
            parent.print();
        }
    }
    class ClassInitializeParent{
        public String name="parent";
        public void print(){
            System.out.println("parent="+name);
        }
    }
    class ClassInitializeChild extends ClassInitializeParent{
        public String name="child";
        public void print(){
            System.out.println("child="+name);
        }
    }

      结果:

      

    child=child

    4.

    public class TestDto{
        public static void main(String[] args) {
            ClassInitializeParent parent=new ClassInitializeParent();
            parent.print();
        }
    }
    class ClassInitializeParent{
        public String name="parent";
        public void print(){
            System.out.println("parent="+name);
        }
    }
    class ClassInitializeChild extends ClassInitializeParent{
        public String name="child";
        public void print(){
            System.out.println("child="+name);
        }
    }

      结果:

    parent=parent
  • 相关阅读:
    作业8: 软件工程学习总结
    用户体验——南通大学教务学生管理系统
    “构建之法互动游戏”感想
    第二次作业
    音乐播放器的发展演变
    C++用法的学习心得
    一、最后一次作业:软件工程学习总结
    设计一款给爸爸妈妈用的手机
    附加题1—— 我想搞懂的软工问题
    计算机病毒软件的发展演变
  • 原文地址:https://www.cnblogs.com/wuyouwei/p/6274190.html
Copyright © 2011-2022 走看看