通过abstract修饰符来修饰的类则为抽象类,如果修饰方法则为抽象方法

抽象类定义格式:

abstract class demo0005 { //在类的前面加abstract修饰符则该类为抽象类
}

抽象方法定义格式:

普通方法定义:

public  void demo() {}

抽象方法:只要方法的名字没有方法的实现

//约束
public abstract void demo();

子类在继承抽象类中的方法是是必须进行方法重写


子类继承父类的抽象类,必须对父类的方法进行重写

抽象类的所有方法必须要通过子类实现方法

若是抽象类中没有抽象方法可以直接继承

abstract class demo0005 {}
class demo0006 extends demo0005{}

抽象类中只有方法也可以被子类调用,只要不是抽象方法子类无法直接调用

abstract class demo0005 {public String demo(String name){return name;}
}
class demo0006 extends demo0005{}

抽象类+抽象方法=接口

抽象类的特点:

1.不能new抽象类,只能通过子类来实现他

2.类名前加上abstract则为抽象类,抽象方法必须在抽象类下,但是抽象类中可以没有抽象方法。

abstract class  demoA{//定义抽象类,但是没有抽象方法
}
abstract class demoB{public abstract void demo();//抽象方法必须在抽象类下
}

3.抽象类存在的意义:提高代码开发效率,提升可扩展性

java全栈系列之JavaSE-面向对象(抽象类)041相关推荐

  1. java全栈系列之JavaSE--冒泡排序028

    冒泡排序是在一组数组中将相邻的两个元素进行比较,可以按由大到小或者由小到大的循序排列, 冒泡排序示意图: 每循环一次相邻的两个数进行大小比较,若由小到大的循序则大的数据在小的数据右侧 冒泡排序流程图 ...

  2. Java全栈系列笔记

    Java全栈系列笔记 全部文档.项目.源码: github:https://github.com/name365/Blog-Java 码云:https://gitee.com/yang365/Blog ...

  3. Java全栈学习day05(面向对象02)

    1.继承 继承的概念 实现代码的重用,子类继承父类的一切属性和方法(除了构造方法),父类的私有属性.方法不能直接使用,需要get和set. package com.test;public class ...

  4. java全栈系列之JavaSE-面向对象(方法的定义与调用)030

    java面向对象编程 面向对象&面向过程 前言: 之前的代码大多数都是属于面向过程的,在程序中有main()方法也叫主方法,程序会由上至下执行main()里面的内容.程序里的方法:例如编写一个 ...

  5. java全栈系列之JavaSE--数组的三种初始化方法及内存分析024

    java内存分析 堆中存放new出来的对象和数组,存放具体的值的变量存放在栈里面 在定义和创建数组的时候内存发生了什么? 当用户定义了一个数组,例如:int [ ] Array;只是定义了一个数组没有 ...

  6. java全栈系列之JavaSE-面向对象(方法重写)037

    子类在调用父类的私有方法中不能直接调用,但是可以通过get方法进行调用,修改属性的值可以通过set方法进行修改.而子类想要修改父类中的方法可以使用方法重写进行操作. 方法重写与之前的方法重载不同 回顾 ...

  7. java全栈系列之JavaSE-面向对象(继承详解)035

    类的继承 java三大特性之一的继承,指的是子类继承父类的属性和方法,java类中只有单继承没有多继承,比如说:一个父亲(父类)可以有多个儿子(子类),但是一个儿子(子类)只能有一个父亲(父类) 在类 ...

  8. java全栈系列之JavaSE-面向对象(封装详解)034

    封装数据的隐藏 通常,应禁止直接访问一个对象中的数据的实际表示,而应通过操作接口来访问,这种称为信息隐藏 封装的意义: 提高数据的安全性,保护数据 隐藏代码的实现细节 统一接口 系统的可维护性增加了 ...

  9. java全栈系列之JavaSE-面向对象(异常详解)043

    Exception可以被程序处理的异常 异常指的是程序在运行中出现了无法预料的状况,异常发生在程序运行期间.程序中可以选择捕获异常,也可以不处理使用默认的异常 算术异常 通常是由于算术计算错误导致的 ...

最新文章

  1. leetcode-86 分隔链表
  2. 计算机、数学、运筹学等领域的32个重要算法
  3. chrome 控制台js调试与断点调试
  4. mfc vs2013 项目怎么更改类名_VS2010 更改MFC标题及标题栏图标和exe图标
  5. 中国移动如何开具并下载打印电子发票?
  6. VS2008 快捷键大全
  7. Object family not exist issue in Equipment download
  8. C#基础 数据类型 类型转换
  9. 华为主题锁屏壁纸换不掉_华为手机中的这些默认设置一定要改,不然会导致手机卡顿加快耗电...
  10. Ubuntu的另类安装方法
  11. 简单的js在html页面打印机,在javaScript中如何连接打印机
  12. 团队管理系列-任务分配
  13. 手动安装shipyard
  14. fiddler移动端抓取
  15. Mysql数据库主主从设置
  16. 管理后台项目-06-用户管理角色管理模块
  17. 如何通过console线缆本地连接网络设备的路由器或交换机进行配置
  18. checked和unchecked的区别
  19. 基于php学生信息管理系统设计
  20. ASE:空间分析、空间统计及空间计量经典论文系列推文概述

热门文章

  1. 计算机数值模拟仿真技术的优点,数值模拟的优缺点优点.ppt
  2. C语言求最大公约数,最小公倍数
  3. 文心ERNIE 3.0 Zeus千亿参数大模型,一键生成“学术范儿”论文标题
  4. python项目实战(二):选课系统(采用面向对象思想开发)
  5. 给hacke拨乱反正 黑客、红客、蓝客究竟是什么--来自:互联网实验室
  6. 关于实现StarGen的思考记录
  7. 2011年在深圳的国庆
  8. HttpGET和POST的详细区别
  9. Opencv报错004:cv::VideoCapture无法读取本地视频文件,报错:cv::CvCapture_Images::open CAP_IMAGES: Stop scanning. Can‘
  10. Python的数据分析可视化十种技能总结