服务器之家

服务器之家 > 正文

Java 抽象类特点总结

时间:2022-03-05 15:06     来源/作者:执久呀

一、前言

前面我们学习了多态中的转型,那么现在我们开始学习抽象类的概述和使用

二、抽象类

生活大多事物是具有抽象含义的,比如我说一个生物,你想不到我说的生物是什么,

在比如说一个动物,你也想不到我说的是什么,这种让人想不到的概念可以理解就是

抽象类。抽象用abstract修饰

三、抽象方法

对于一个没有方法体的方法叫做抽象方法,抽象方法是抽象类的核心。抽象类中可以么有

抽象abstract修饰。

四、抽象类的特点

①抽象类中可以有常量,还可以有变量。

②抽象类中可以有/没有抽象方法,也可以有非抽象方法。

③有抽象方法一点是抽象类,是抽象类不一定有抽象方法。

④抽象类不能直接实例化,但可以通过多态的方式实例化。

⑤子类继承抽象方法时,必须重写父类中的所有抽象方法。

注意:若子类不想重写抽象父类中的父类方法,则可以将子类也定义为抽象类,但是

该子类被其他类继承时,其他类除了重写子类中的抽象方法,还要重写父类中的抽象

方法。(此子类父类时没把其他类带入的,而是单纯的写如题)

在Service包下

?
1
2
3
4
5
6
7
package service;
 
public abstract class Animal1 {
    public abstract void eat();
    public abstract void show();
 
}

在service下的impl包下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package service.impl;
 
import service.Animal1;
 
public class Dog extends Animal1 {
    @Override
    public void eat() {
        System.out.println("吃");
    }
 
    @Override
    public void show() {
        System.out.println("会看门");
    }
    public void say(){
        System.out.println("会吠叫");
    }
 
}

在controller包下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package controller;
 
import service.Animal1;
import service.impl.Dog;
 
public class AnimalController1 {
    public static void main(String[] args) {
        Animal1 a1=new Dog();//向上转型
        if(a1 instanceof Dog){
            Dog g=(Dog)a1;//向下转型
            g.eat();
            g.say();
            g.show();
        }
 
    }
}

创建不同包的作用我前面在这Java面向对象之多态

Java 抽象类特点总结

到此这篇关于Java 抽象类特点总结的文章就介绍到这了,更多相关Java 抽象类特点内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_60719453/article/details/120985441

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部