zoukankan      html  css  js  c++  java
  • 《Java入门第二季》第四章 多态

    Java 中的多态
    1、引用的多态:意思就是父类的句柄既可以持有本类的对象,也可以持有子类的对象。

    2、方法的多态:注意点是当父类句柄持有子类对象的时候,无法调用子类特有的方法。

    多态中的引用类型转换
    1、重写override的时候有个典型的向下转换,并且在转换之前执行了检查。

    2、检查向下转换安全性的另一个方法:父对象 instanceof 子类。

    Java 中的抽象类
    1、通常用接口取代抽象类:a)两者都可以作为子类对象的持有者。b)两者都可以约定子类必须实现的方法。c)实现接口相比继承抽象类复杂度更低。

    2、接口和抽象类的差异在于:抽象只能单继承,而一个类可以实现多个接口。

    Java 中的接口
    1、接口规定了一批类所需要遵守的规范,规定类里必须提供某些方法。

    2、接口中的属性都是常量,即使定义时不显示设置public static final,系统也会自动加上。(并且不加是一种比较好的习惯,不做多余的事情。)

    3、接口中的方法都是抽象方法遵守一个接口就必须实现接口中的方法

    4、使用接口:类实现接口、作为对象持有者、与匿名内部类配合使用

    5、接口的命名规范:要与类区分,通常I开头或者InterfaceXX

    ps:参考阿里的开发手册,接口规范Xxx配合XxxImpl,方法直接void f()而不要加上public abstract等前缀,接口常量也是一样,不要加多余的前缀。

    匿名内部类(经常与接口配合使用)

    /**
     * Created by xkfx on 2017/3/11.
     */
    public class TestAnimal {
        public static void main(String[] args) {
            // 使用匿名内部类的第一种方式
            Animal a1 = new Animal() {
                @Override
                public void run() {
                    System.out.println("使用匿名内部类的第一种方式");
                }
            };
            a1.run();
            // 使用匿名内部类的第二种方式
            new Animal() {
                @Override
                public void run() {
                    System.out.println("使用匿名内部类的第二种方式");
                }
            }.run();
        }
    }
    /**
     *         ┏┓   ┏┓
     *        ┏┛┻━━━┛┻┓
     *        ┃       ┃  
     *        ┃   ━   ┃
     *        ┃ >   < ┃
     *        ┃       ┃
     *        ┃... ⌒ ... ┃
     *        ┃       ┃
     *        ┗━┓   ┏━┛
     *          ┃   ┃ Code is far away from bug with the animal protecting          
     *          ┃   ┃   神兽保佑,代码无bug
     *          ┃   ┃           
     *          ┃   ┃        
     *          ┃   ┃
     *          ┃   ┃           
     *          ┃   ┗━━━┓
     *          ┃       ┣┓
     *          ┃       ┏┛
     *          ┗┓┓┏━┳┓┏┛
     *           ┃┫┫ ┃┫┫
     *           ┗┻┛ ┗┻┛
     */

    UML 简介(用的并不多)

    1、用例图:表达用户需求。

    2、序列图:对象间的交互关系。

    3、类图:最常用。

  • 相关阅读:
    团队项目-smart原则
    团队项目-作业管理系统
    团队模式和团队的开发模式是什么,它们有什么关系?
    软件工作量的估计有哪些方法?
    腾讯qq的发展史
    软件过程与项目管理(第二次作业)
    有学生提到,在大学选课的时候,可以写一个“刷课机”的程序,利用学校选课系统的弱点或漏洞,帮助某些人选到某些课程。或者帮助用户刷购票网站,先买到火车票。这些软件合法么?符合道德规范么?是在“软件工程”的研究范围么?
    mysql中explain的type的解释
    php 中类型转换 numfamat、round函数tips
    python client端收不到server端构造的结构体数据
  • 原文地址:https://www.cnblogs.com/xkxf/p/6535961.html
Copyright © 2011-2022 走看看