• Java抽象类快速入门


    文章目录

    一、抽象类引出

    示例:当父类的某些方法 需要声明,但是又不确定如何实现时,可以将其声明抽象方法,那么这个类就是抽象类

    1. package com.java.Abstract_;
    2. public class Abstract01 {
    3. public static void main(String[] args) {
    4. }
    5. }
    6. abstract class Animal{
    7. private String name;
    8. public Animal(String name) {
    9. this.name = name;
    10. }
    11. public void eat(){
    12. System.out.println("这是一个动物,但是不知道吃什么..");
    13. }
    14. }

    二、使用步骤

    1.步骤

    1.将该方法设计为抽象方法

    2.所谓抽象方法就是没有实现的方法,没有方法体
    3.当一个类存在抽象方法,需要将该类声明为abstract类

    4.一般来说,抽象类会被继承,有其子类实现 抽象方法

    1. package com.java.Abstract_;
    2. public class Abstract01 {
    3. public static void main(String[] args) {
    4. }
    5. }
    6. abstract class Animal{
    7. private String name;
    8. public Animal(String name) {
    9. this.name = name;
    10. }
    11. public abstract void eat();
    12. }

    2.快速入门

    代码如下(示例):当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,这个方法就是抽象方法,用abstract来修饰该类就是抽象类。

    如何把Animal做成抽象类,并让子类Cat类实现

    1. package com.java.Abstract_;
    2. public class AbstractDetail02 {
    3. public static void main(String[] args) {
    4. }
    5. }
    6. abstract class E{
    7. public abstract void hi();
    8. }
    9. abstract class F extends E{
    10. }
    11. class G extends E{
    12. @Override
    13. public void hi() {//实现E的方法
    14. }
    15. }
    16. abstract class D{
    17. public int n1=10;
    18. public static String name="xiaoming";
    19. public void hi(){
    20. System.out.println("hello");
    21. }
    22. public abstract void hello();
    23. public static void ok(){
    24. System.out.println("ok");
    25. }
    26. }

    注意事项和细节讨论

    1.抽象类不能实例化

    2.抽象类不一定包含abstract方法,也就是说,抽象类可以没有abstract方法

    3.一旦类包含了abstract方法,则这个类必须声明为abstract

    4.abstract只能修饰类和方法,不能修饰属性和其他的

    5.抽象类可以有任意成员,比如 非抽象类方法、构造器、静态属性等等

    6.抽象方法不能有主体

    7.如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非他自己也声明为abstract类

    8.抽象方法不能使用private final 和static来修饰,因为这些关键字都是和重写相违背的

  • 相关阅读:
    七夕节表白3d相册制作
    全国双非院校考研信息汇总整理 Part.8
    t2017递推3骨牌
    Java 中的全部锁
    不同背景+目标图像 Augmentation 代码及使用方法
    山西电力市场日前价格预测【2023-10-24】
    Tomcat
    什么是Jmeter ?Jmeter使用的原理步骤是什么?
    通过将工作负载从虚拟机迁移到容器的数据保护转变,Veeam和Kasten K10 by Veeam推动Zenseact加速自动驾驶创新
    【计算机视觉】尺度不变特征变换(SIFT)
  • 原文地址:https://blog.csdn.net/qq_45789558/article/details/126968176