博客
关于我
JAVA面向对象之抽象类
阅读量:183 次
发布时间:2019-02-28

本文共 1675 字,大约阅读时间需要 5 分钟。

JAVA面向对象之抽象类

抽象类简介

抽象类是Java中的一种高级概念,它与具体类有明显区别。以下是抽象类的主要特点:

  • 成员变量:抽象类可以声明变量和常量,子类可以通过继承这些变量进行扩展和修改
  • 成员方法:抽象类可以包含抽象方法,抽象方法是没有具体实现的方法,子类需要通过实现这些方法来提供实际功能
  • 构造方法:抽象类可以包含构造方法,但由于抽象类不能被实例化,构造方法不能用于创建对象
  • 如何创建对象:抽象类本身不能创建对象,只能通过继承抽象类的子类来创建对象
  • 抽象类的注意事项

  • 抽象类不能实例化对象:抽象类不能直接被用来创建对象
  • 抽象类中可以没有抽象方法:抽象类可以选择性地声明抽象方法
  • 有抽象方法的类一定是抽象类:如果一个类中有抽象方法,那么这个类一定是抽象类
  • 抽象类可以声明对象,但不能使用自身构造方法创建对象:抽象类可以通过子类的构造方法创建对象
  • 抽象类的实际应用

    动物与子类的关系

    abstract class Animal {    final int num = 10;    public Animal() {        System.out.println("构造方法");    }    public abstract void fun();    public void fun1() {        System.out.println("我是成员方法");    }}class Dog extends Animal {    public Dog() {        System.out.println("Dog构造方法");    }    @Override    public void fun() {        System.out.println("Dog实现fun方法");    }}class Cat extends Animal {    public Cat() {        System.out.println("Cat构造方法");    }    @Override    public void fun() {        System.out.println("Cat实现fun方法");    }}// 创建Dog对象Dog dog = new Dog();dog.fun(); // 调用Dog类的fun方法

    人与学生的关系

    abstract class Person {    public abstract void eat();    public abstract void sleep();}class Student extends Person {    @Override    public void eat() {        System.out.println("学生吃肉");    }    @Override    public void sleep() {        System.out.println("学生趴桌子睡觉");    }}

    BXJP与YBQ的关系

    abstract class BXJP {    public abstract void ZG();}class YBQ extends BXJP {    @Override    public void ZG() {        System.out.println("狼牙棒自宫");    }}class LPZ extends BXJP {    @Override    public void ZG() {        System.out.println("流星锤自宫");    }}

    总结

    抽象类是Java面向对象编程中的重要概念,它通过抽象方法和抽象变量为子类提供了一个框架,强制子类去实现具体的功能。通过学习抽象类,你可以更好地理解Java的面向对象特性以及如何设计类与接口。在实际开发中,抽象类广泛应用于抽象算法、框架设计等场景。

    转载地址:http://kbln.baihongyu.com/

    你可能感兴趣的文章
    npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
    查看>>
    npm run build报Cannot find module错误的解决方法
    查看>>
    npm run build部署到云服务器中的Nginx(图文配置)
    查看>>
    npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
    查看>>
    npm scripts 使用指南
    查看>>
    npm should be run outside of the node repl, in your normal shell
    查看>>
    npm start运行了什么
    查看>>
    npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
    查看>>
    npm 下载依赖慢的解决方案(亲测有效)
    查看>>
    npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
    查看>>
    npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
    查看>>
    npm—小记
    查看>>
    npm介绍以及常用命令
    查看>>
    NPM使用前设置和升级
    查看>>
    npm入门,这篇就够了
    查看>>
    npm切换到淘宝源
    查看>>
    npm切换源淘宝源的两种方法
    查看>>
    npm前端包管理工具简介---npm工作笔记001
    查看>>
    npm包管理深度探索:从基础到进阶全面教程!
    查看>>
    npm升级以及使用淘宝npm镜像
    查看>>