zoukankan      html  css  js  c++  java
  • 要如何判断应该是设计类、子类、抽象类或接口

    1. 如果新的类无法对其他的类通过IS-A测试时,就设计不继承其他类的类。

    2. 只有在需要某类的特殊版本时,以覆盖或增加新的方法来继承现有的类。

    3. 当你需要定义一群子类的模板,又不想让程序员初始化此模板时,设计出抽象的类给他们用。

    4. 如果想要定义出类可以扮演的角色,使用接口!

    要点:

    1. 如果不想某个类被初始化,就以abstract这个关键词修饰为抽象类。

    2. 抽象类可以带有抽象和飞抽象的方法。

    3. 如果类带有抽象方法,则此类必定标示为抽象的。

    4. 抽象方法没有内容,它的声明以分号结束。

    5. 抽象方法必须在具体的类中实现。

    6. Java所有的类都是Object(java.lang.Object)直接或间接的子类。

    7. 方法可以声明为Object类型的参数或返回类型。

    8. 不管实际上所引用的对象是什么类型,只有在引用变量的类型就是带有某方法的类型时候才能调用该方法。(即只能使用应用类型中的方法)

    9. Object引用变量在没有类型转换的情况下不能赋值给其他类型,若堆上的对象类型与所有转换的类型不兼容,则此转换会在执行期间产生异常。可以使用 instanceof来检查。

    10. 从ArrayList<Object>取出的对象只能被Object引用,不然就要用类型转换来改变。

    11. Java不允许多重继承,因为那样会有致命方块问题。

    12. 接口就好像是100%纯天然抽象类

    13. 以Interface作为关键词来声明接口

    14. 实现接口时使用implements关键词

    15. class可以实现多个接口。

    16. 实现某接口的类必须实现它的所有的方法,因为这些方法都是public与abstract的。

    17. 要从子类调用父类的方法可以用super关键词。

  • 相关阅读:
    Modbus软件开发实战指南 之 开发自己的Modbus Poll工具
    Divide Two Integers-不用'/' '*' '%'操作实现整数的除法
    用最少的砝码称出1到100克的物品
    Binary Tree Inorder Traversal-非递归实现中序遍历二叉树
    leetcode Word Break-单词划分
    位运算题目
    leetcode Single Number II
    leetcode 4Sum
    leetcode 3Sum Closest
    Unique Binary Search Trees-计算表示相同序列的不同BST个数
  • 原文地址:https://www.cnblogs.com/shinhwa/p/3299804.html
Copyright © 2011-2022 走看看