Java中的抽象类

2 篇文章 0 订阅
1 篇文章 0 订阅


一、抽象类是什么?

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

抽象方法:没有方法体,只有方法签名,必须用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、一个类继承了抽象类,必须重写完抽象类的所有抽象方法,否则该类只能定义为抽象类。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值