8.多态

作者: 云木杉 | 来源:发表于2019-02-21 16:26 被阅读0次

    再论向上转型

    • 把某个对象的引用视为对其基类型的引用被称为向上转型。因为在继承树的画法中,基类是放置在上方的。

    转机

    • 只有非private方法才可以被覆盖。
    • 只有普通的方法调用时多态的。
    • 静态方法是与类,而非与单个的对象相关联的。

    构造器和多态

    复杂对象(带有继承的对象)调用构造器顺序

    • 1.调用基类构造器。这个步骤会不断的反复递归下去,首先是构造这种层次结构的根,然后是下一层导出类,等等,直到最底层的导出类。

    • 2.按照声明顺序调用成员的初始化方法。

    • 3.调用导出类主体(导出类构造)

    • 如果父类方法已经被覆盖,那只有子类内部通过super才能调到

    package simple;
    
    class PortableLunch {
    
        private Apple a = new Apple();
    
        PortableLunch() {
            System.out.println("PortableLunch()");
        }
    }
    
    class Banana {
        Banana() {
            System.out.println("Banana()");
        }
    }
    
    class Apple {
        Apple() {
            System.out.println("Apple()");
        }
    }
    
    public class Sandwich extends PortableLunch {
    
        private Banana b = new Banana();
    
        Sandwich() {
            System.out.println("Sandwich()");
        }
    
        public static void main(String[] args) {
            new Sandwich();
        }
    }
    
    Apple()
    PortableLunch()
    Banana()
    Sandwich()
    
    

    用继承进行设计

    • 通过准则:用继承表达行为间的差异,并用字段表达状态上的变化(其实就是使用组合使自己的状态发生比变化)。

    相关文章

      网友评论

          本文标题:8.多态

          本文链接:https://www.haomeiwen.com/subject/vbnlyqtx.html