• java基础之抽象类的介绍


    抽象类的特点:
    1.当方法只有声明没有具体实现的时候,需要用abstract修饰符修饰。抽象方法必须定义在抽象类当中,所以抽象类也需要用abstract修饰
    2.抽象类不可以被实例化,为什么呢?
         因为调用抽象方法没有意义
    3.抽象类的子类必须覆盖所有的父类的抽象方法之后,子类才能够被实例化,否则子类也还是抽象类;
     
    class A extends chouxiang {
         @Override
         void bark() {//只有覆盖了bark()方法,才能将A类实例化
               // TODO Auto-generated method stub
               System.out.println("你说呢");
         }
    }
    public abstract class chouxiang {
         abstract void bark();//必须让子类重写才有意义
         private int bark(int a, int b) {//抽象类中可以有非抽象方法,即不需要子类必须重写该方法
               return a + b;
         }
         public static void main(String[] args) {
               A a = new A();
               a.bark();//调用的是重写的无参的bark()方法
         }
    }
     
    • 抽象类中有构造函数吗?
         有,用于对子类的初始化
    • 抽象类中可以没有没有抽象方法吗?
         可以,但是很少见,目的就是不让子类创建对象
    • 抽象类不可以和哪些关键字使用
         1.private:父类中的private修饰的方法对于子类不可见,即子类无法对方法进行覆盖
         2.static:当使用static修饰的时候,就可以直接使用类名调用该方法了,那就不用让子类进行实现了;除此之外,即便直接调用了也只是一个方法声明,并没有意义。
         3.final:abstract的意义在于让子类对修饰的方法进行覆盖,但是final却是不让方法进行覆盖,两者矛盾
    • 抽星类一定是个父类吗
         是的,因为需要其子类覆盖其方法才有意义
         
  • 相关阅读:
    【字符串】
    SQL Server 一些使用小技巧
    SQL语句将一个表的数据写入到另一个表中
    SQL语句用一个表的数据更新另一个表
    Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
    Sqlserver存储过程中使用Select和Set给变量赋值
    NPOI导Excel样式设置
    NPOI根据模板生成chart图表导出Excel
    Sqlserver中通过Select Into语句快速单表备份
    NPOI插入图片到excel指定单元格
  • 原文地址:https://www.cnblogs.com/shenzhouyh/p/6201291.html
Copyright © 2020-2023  润新知