zoukankan      html  css  js  c++  java
  • Java基础--抽象类

    抽象类

    abstact定义的一个抽象类

    package oop.demo08;
    // abstract 抽象类
    // extends: 只能单继承(多继承通过接口实现)
    public abstract  class Action {
        //约束 有人帮我们实现
        // 抽象方法: 只有方法名字,没有方法的实现
        public abstract void doSomething();
        //1. 不能new抽象类,只能靠子类去实现它
        //2. 抽象类里面可以写普通方法,但是抽象方法必须在抽象类中
        
    }
    
    package oop.demo08;
    // 抽象类的所有方法,继承了它的子类,都必须要实现它的方法
    // 除非:子类也是一个抽象类
    public class A extends Action {
        @Override
        public void doSomething() {
    
        }
    }
    
    package oop.demo08;
    public class APP {
        public static void main(String[] args) {
            // Action action = new Action();
        }
    }
    
    
    

    思考:

    1. 抽象类不能new,但是它存在构造方法吗?

    java抽象类的构造方法和普通类的构造方法一样,都是用来初始化类。只是抽象类的构造方法不能直接调用,因为抽象类不能实现实例。但是一旦一个普通类继承了抽象类,便也可以在构造函数中调用其抽象类的构造函数,也可以使用其方法。 抽象类就是一个不能实例化的不同类,不过如果方法加了abstract那么就必须在子类里面重写了

    1. 存在的意义?

    将公共模块抽象出来,提高开发的效率。

  • 相关阅读:
    [题解] [JSOI2011] 任务调度
    [题解] [JSOI2011] 棒棒糖
    [题解] [JSOI2011] 柠檬
    [题解] [JSOI2010] 排名
    [湖南集训] 谈笑风生
    BZOJ 4695 最假女选手 线段树
    HNOI 2010 物品调度 并查集 置换
    Luogu P4299 首都 LCT
    BZOJ 2738 矩阵乘法 整体二分
    51nod 1175 区间第k大 整体二分
  • 原文地址:https://www.cnblogs.com/sinlearn/p/13362960.html
Copyright © 2011-2022 走看看