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关键词。

  • 相关阅读:
    一个神奇的类库,可以执行字符串表达式
    Common lang一些边界方法总结(好记性不如烂笔头,需要慢慢积累).一定要利用好现有的轮子,例如Apache common与Google Guava
    借助强大的IDEA开发ide高效实现equals,hashcode以及toString方法
    数字签名是什么?
    字符串组合
    空格替换
    字符串替换 (replace)
    为什么要区分稳定和非稳定排序
    算法稳定性
    华为2018校招技术岗笔试
  • 原文地址:https://www.cnblogs.com/shinhwa/p/3299804.html
Copyright © 2011-2022 走看看