zoukankan      html  css  js  c++  java
  • Java面向对象OOD

    1、继承

    (1)构造器

      在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。

    2、抽象类

      (1)一个类中有抽象方法则必须申明为抽象类。

      (2)我建一个接口,然后一个抽象类implements这个接口,并override的所有方法。然后我在建一个类extends这个抽象类,并且不能为任何抽象方法提供任何细节或方法体时,这时这个类必须是抽象类。

      (3)我建一个接口,然后一个类implements这个接口,并且不能为任何抽象方法提供任何细节或方法体时,这个类必须是抽象类,并override的所有方法。然后我在建一个普通类extends这个抽象类,就可以为所欲为了 。这种情况就是java设计模式中的适配器模式。

    A、final修饰的类为终态类,不能被继承,而 抽象类是必须被继承的才有其意义的,因此,final是不能用来修饰抽象类的。
    B、 final修饰的方法为终态方法,不能被重写。而继承抽象类,必须重写其方法。
    C、抽象方法是仅声明,并不做实现的方法。
     

    1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。

    2、抽象方法必须由子类来进行重写。

    3、只要包含一个抽象方法的类,该类必须要定义成抽象类,不管是否还包含有其他方法。

    4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。

    5、abstract不能与final并列修饰同一个类。

    6、abstract 不能与private、static、final或native并列修饰同一个方法。、

    坚持就是胜利
  • 相关阅读:
    利用反射获取类的所有字段
    System.Data.Entity.Internal.AppConfig 类型初始值设定项引发异常
    sql server 修改列类型
    sql server 删除表字段和字段的约束
    sql server 查找字段上的约束
    ASP.NET MVC自定义路由
    初探pandas——索引和查询数据
    初探pandas——安装和了解pandas数据结构
    初探numpy——numpy常用通用函数
    初探numpy——广播和数组操作函数
  • 原文地址:https://www.cnblogs.com/xiaotieblog/p/8549056.html
Copyright © 2011-2022 走看看