java面向对象(抽象类)
一.抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。
当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。
二.抽象类和抽象方法的定义
//抽象方法定义的格式: public abstract 返回值类型 方法名(参数); //抽象类定义的格式: abstract class 类名 { }
//研发部员工 abstract class Developer {public abstract void work();//抽象函数。需要abstract修饰,并分号;结束 }//JavaEE工程师 class JavaEE extends Developer{public void work() {System.out.println("正在研发淘宝网站");} }//Android工程师 class Android extends Developer {public void work() {System.out.println("正在研发淘宝手机客户端软件");} }
三.抽象类的特点
1.抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。
2.抽象类不可以直接创建对象,原因:调用抽象方法没有意义。
3.只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。
四.抽象类总结
1. 抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法。
5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
转载于:https://www.cnblogs.com/akiyama/p/10222178.html
java面向对象(抽象类)相关推荐
- Java面向对象-抽象类
Java面向对象-抽象类 定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象: 注意点: 1,包含一个抽象方法的类是抽象类: 2,抽象类和抽象方法都要用abstract关键字修饰: 3, ...
- Java基础学习第十二讲:Java面向对象---抽象类和接口
Java面向对象-抽象类和接口 一.抽象类 抽象的定义: 我们在日常生活中,经常通过总结一些事物的共性来对事物进行分类,这种共性可能是一些相同的属性,也可能是一些相同的动作.通过总结,我们能够清晰的划 ...
- 25、Java面向对象——抽象类和抽象方法、接口
目录 课前先导 一.抽象方法 1.定义 2.语法格式 3.抽象方法与普通方法的区别 二.抽象类 1.定义 2.语法格式 3. 抽象类和普通类的区别 4.为什么使用抽象类 三.代码演示 1.创建抽象类 ...
- Java 面向对象 抽象类与接口
在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实现,这样的类叫做抽象类:一般当我们 ...
- java面向对象抽象类和接口
抽象方法和抽象类 (1)一个抽象类中可以不定义抽象方法,但是只要类中有一个抽象方法,则该类一定是抽象类 (2)抽象类不能被实例化,即不能被new创建一个实例对象. (3)如果一个子类继承一个抽象类,则 ...
- java面向对象-抽象类和接口
抽象类(abstract没有足够的信息来描述) 被abstract修饰的类就是抽象类,修饰的方法就是抽象方法. 抽象类中可以没有抽象方法,但有抽象方法的类必须要声明为抽象类. 抽象类不能使用new来创 ...
- Java面向对象—抽象类和接口
目录 抽象类 什么是抽象类? 1.抽象方法 2.抽象类 实现抽象类中的方法 抽象类使用的意义 接口 什么是接口? 接口的意义 抽象类 什么是抽象类? 1.抽象方法 当一个类没有具体的方法体时,且被ab ...
- java 继承 接口 练习,java:面向对象-抽象类、继承、接口结合练习
public class Demo5_Animal { public static void main(String[]args){ Cat_Test c=new Cat_Test("加菲猫 ...
- Java面向对象抽象类案例分析
1 /** 2 雇员示例: 3 需求:公司中程序员有姓名,工号,薪水,工作内容 4 项目经理除了有姓名,工号,薪水还有奖金,工作内容 5 对给出需求进行数据建模 6 7 8 分析: 9 在这个问题领域 ...
- Java学习 第四章 java面向对象(二)
一.封装性 1.封装性产生目的 保护某些属性和方法不被外部所看见. 2.封装性的实现 为属性和方法进行封装是通过关键字private声明的; 实现该属性的set和get方法,为外部所访问: eg ...
最新文章
- Win 10 UWP开发系列:设置AppBarButton的图标
- 按键防抖_单片机用一个IO口采集多个按键信号
- Spring容器中导入组件方式
- C++ 程序员自信心曲线图
- android 返回图标布局,Android 开发BottomNavigationView学习
- Git撤销修改、回退版本相关命令
- k-means聚类分析的C++实现
- 【实习之T100开发】帆软报表笔记
- 进度图绘制十大注意事项
- 发现了一款神仙软件,AI翻译、拍图识字等超多工具免费用
- 圆形区域函数可视化和泊松方程求解
- 如何将低dpi图片升级到300dpi
- 7.20-7.22作业代码
- Python 正则表达式 match、findall、search
- [渝粤教育] 西南科技大学 国际经济法 在线考试复习资料
- 【笔记】曝光值EV曝光补偿曝光量
- 小心看上去平平无奇的陷阱:如何防范高级渣?
- [洛谷月赛]终于结束的起点
- 如何让你的网页看起来更美观
- Skype和Lync可以互相语音聊天啦
热门文章
- android 监听通知栏点击事件,android使用NotificationListenerService监听通知栏消息
- php mb strimwidth,如何解决WordPress内置函数mb_strimwidth()不能用问题?
- hardmard积 用什么符号表示_[关于数学哲学的科普]为数学学习准备的基础数理逻辑(用自然推理系统展现的命题演算以及一阶谓词演算)...
- 点钞视频软件测试,模拟银行综合实验
- 白话文:几个例子马上看懂typescript基础类型
- 马哥Linux培训第二周课程作业
- linux入门和简单应用举例
- 2月28日 PCA降维,SVD压缩,中心化、归一化、标准化、k-l变换
- 第二季-专题16-LCD亮起来
- 数据结构/图论:最小生成树问题