软件编程
位置:首页>> 软件编程>> java编程>> Java 抽象类特点总结

Java 抽象类特点总结

作者:执久呀  发布时间:2023-07-28 10:39:46 

标签:Java,抽象类,特点

一、前言

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

二、抽象类

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

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

抽象类。抽象用abstract修饰

三、抽象方法

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

抽象abstract修饰。

四、抽象类的特点

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

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

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

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

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

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

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

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

在Service包下


package service;

public abstract class Animal1 {
   public abstract void eat();
   public abstract void show();

}

在service下的impl包下


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包下


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 抽象类特点总结

来源:https://blog.csdn.net/weixin_60719453/article/details/120985441

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com