• 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
  • 相关阅读:
    本博客停止更新说明
    JavaScript备忘录(3)——正则表达式
    JavaScript备忘录(2)——闭包
    JavaScript备忘录(1)——内置类型
    CSS布局:Float布局过程与老生常谈的三栏布局
    地图投影简明笔记
    Three.js源码阅读笔记-5
    js中 set, map区别
    Package.json详解
    node.js 中的package.json文件怎么创建?
  • 原文地址:https://www.cnblogs.com/wuyouwei/p/6274190.html
Copyright © 2020-2023  润新知