zoukankan      html  css  js  c++  java
  • 抽象修饰符abstract

    描述一类事物的时候发现该类存在一种行为,但不知道行为具体怎么实现,我们将这种行为称之为抽象行为,这时候我们就需要抽象类

    抽象类的好处:抽象类中的抽象方法一定要备子类重写

    抽象类注意点:

    1.在类中,一个类如果没有方法体,则必须用abstract修饰符,变成抽象方法

    2.如果一个类中有抽象方法,则这个类也必须是抽象类

    3.非抽象类继承抽象类时,必须重写父类的抽象方法

    4.抽象类不能构造对象,但抽象类有构造方法,给子类创建对象时使用

    5.抽象类中可以有抽象方法,也可以有非抽象方法

    6.抽象类继承抽象类,可以重写抽象方法,也可以不重写

    abstract不可以和final static private关键字一起使用

    不可以和final ,private一起使用是因为,抽象类必须被继承,否则将没有意义,抽象方法也必须要重写,因为抽象方法没有具体的方法体

    不可以和static使用是因为抽象类中方法没有具体实现,被调用了没有任何意义

    java中的普通类和抽象类只支持单继承,一个类只可以有一个直接的父类,但是可以有多个间接的父类

     1 public class Demo2 {
     2 
     3     /**
     4      * @param args
     5      */
     6     public static void main(String[] args) {
     7          ChinaBank cb = new ChinaBank();
     8          
     9 //         Bank b = new Bank();
    10 
    11     }
    12 
    13 }
    14 
    15 abstract class Bank{
    16     String name;
    17     
    18     Bank(){
    19         System.out.println("抽象方法");
    20     }
    21     
    22     public abstract  void getMoney();
    23 
    24     
    25     public void saveMoney(){
    26         System.out.println("Bank saveMoney");
    27     }
    28 }
    29 
    30 class ChinaBank extends Bank{
    31     
    32     String remark;
    33     
    34     public void buyChinaBank(){
    35         System.out.println("ChinaBankSelf method。。。。。。");
    36     }
    37 
    38     @Override
    39     public void getMoney() {
    40         // TODO Auto-generated method stub
    41         
    42     }
    43     
    44 }
  • 相关阅读:
    01 Vue的起步和插值表达式
    06 扩展的对象的功能
    05 解构赋值
    04 函数之扩展运算符、箭头函数
    03 函数之默认值、剩余参数
    02 模板字符串
    01 let和const命令
    28 Bootstrap排版
    27 Bootstrap的列偏移
    26 Bootstrap的栅格系统
  • 原文地址:https://www.cnblogs.com/uoar/p/7148734.html
Copyright © 2011-2022 走看看