Java中的抽象类


目录

  • 一、抽象类是什么?
    • 1.引入库
    • 2.读入数据
  • 二、抽象类的特点
    • 注意 :
  • 三、总结


一、抽象类是什么?

父类知道子类一定要完成某个功能,但是每个子类完成的要求是不一样的。
子类以后也只能用自己重写的功能,那么父类的功能就可以定义为抽象方法,子类重写调用子类自己的就可以了。这个父类就叫做抽象类。

抽象方法:没有方法体,只有方法签名,必须用abstract修饰。
拥有抽象方法的类必须定义成抽象类。

抽象类:
必须用abstract修饰。

抽象类的作用:
为了被子类继承。

一个类继承了抽象类,必须重写完抽象类的所有抽象方法,否则该类只能定义为抽象类。

代码演示 :

public abstract class Animal {
    /*
        抽象类,不能创建对象,但是可以有构造方法,成员变量,成员方法
              做为基类,只能通过子类继承,然后子类重写抽象方法来实现
     */
    private String name;
    private int age;

    /*
        抽象方法,即不能直接用,没有方法体不能具体实现
        抽象方法用abstract来修饰
        一个类中如果有未实现的抽象方法,那么这个类也必须修饰成抽象类
     */
    public abstract void eat();
}

 class Dog extends Animal{
    /*
        重写eat()方法
     */

	   @Override
        public void eat(){
            System.out.println("狗吃骨头");
        }
}
    //测试类

 class Test{
    public static void main(String[] args) {
        Animal a1 = new Dog();
        a1.eat();
    }
}

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


二、抽象类的特点

优点 : 得到能给能够抽象方法的能力
缺点 : 不能创建对象

抽象类必须存在构造方法的能力,一定有
●因为抽象类的子类继承了他,那就必须要有抽象类构造方法,不然就不能初始化父类的变量了

抽象类不能构造对象
●因为构造了对象,万一通过对象调用方法,但是此时的方法是概念方法,不能调用,所以不能构造对象

注意 :

抽象类本身就是抽象的,不能实例化 (即创建对象)


三、总结

1、抽象类不能创建对象,只能创建其非抽象子类的对象。
2、抽象类一定有构造方法,而且必须有,提供给子类创建对象调用父类构造方法使用。
3、抽象类中不一定包含抽象方法,但拥有抽象方法的类必须定义成抽象类。
4、一个类继承了抽象类,必须重写完抽象类的所有抽象方法,否则该类只能定义为抽象类。

你可能感兴趣的:(继承,抽象类,javaSE,java,开发语言)