Java 面向对象特征
java面向对象的三大特征是什么?
那就是封装、继承、多态。
但说到面向对象,还有一个很主要的特征就是抽象。
封装
每一个类中都会有属性和方法,封装指的就是把属性和方法隐藏起来,只保留一些对外的接口和外部进行交互。
封装的好处:
i.减少耦合;
ii.方便的修改自己的实现代码,不用修改那些调用我们代码的程序片段。
继承
继承就是子类继承父类的特征和行为,使得子类对象具有父类的非private属性和方法。
a)类的继承格式:
通过extends关键字申明一个类继承另一个类,如
class父类{}
class子类extends父类{}
b)为什么需要继承?
减少代码重复、臃肿,提高代码可维护性。
多态
多态就是同一个接口,使用不同的实现,而执行不同的操作。
如图:
a)多态的三个必要条件:
i.继承(extends)
ii.重写(子类重写父类的同名方法)
iii.父类引用指向子类的对象,如:
Animal a = new Cat() ;
父类引用animal指向子类cat
抽象
抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象,数据抽象指的是属性,行为抽象指的是方法。
(1)抽象方法:使用abstract修饰的方法是抽象方法。
(2)抽象类:包含抽象方法的类是抽象类,抽象类使用abstract修饰。
(补充:不准确,抽象类中可以不包含抽象方法,但是如果一个抽象类中不包含抽象方法,定义为抽象类没有意义,所以我们就认为包含抽象方法的类就是抽象类)。
i.抽象类不能创建对象;
ii.如果一个类继承了抽象类,子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract。
iii.抽象类就是用来作为父类,让子类继承的。如果我们定义了一个抽象类,却不去继承它,就等于白白创建了一个抽象类,没有任何意义。
Java 面向对象特征相关推荐
- Java面向对象特征之三 多态
文章目录 Java面向对象特征之三 多态 1.多态的定义 2.多态的分类 静多态 动多态 3.向上造型 向上造型的好处 4.多态实例演示 5.多态的实现原理 6.多态的深入理解 6.1 静多态(静态绑 ...
- java面向对象特征及阐述,Java面向对象四个特征
Java面向对象有四个特征:抽象.封装.继承.多态.其中封装.继承.多态又被称为Java的基本特征. 抽象: Java中会把客观事物抽象成一个类.类就是封装了数据以及操作这些数据的代码逻辑实体.用字符 ...
- Java面向对象特征介绍
面向对象不仅仅在java中有体现,在C++中也有.Java面向对象三大特征 封装和隐藏 继承 多态 1.封装和隐藏 Java中通过将数据声明为private私有,再提供公共(public)的方法,ge ...
- Java面向对象特征有那些
一.java面向对象的特征? 答:java面向对象的特征:封装.继承.多态.抽象. 如果问java面向对象的三大特征是什么?那就是封装.继承.多态, 但说到面向对象,还有一个很主要的特征就是抽象. 1 ...
- java面向对象特征
java面向对象的特征:封装,继承,抽象,多态: --1--.封装: 什么叫做封装? 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口. 面向对象计算始于这个基本概念,即现实世界可以被描绘 ...
- java继承封装英语怎么说,英语翻译深刻理解JAVA OOP编程,熟练于封装、继承、多态、抽象等JAVA面向对象特征的使用,对常用集合有较深理解,以...
共回答了16个问题采纳率:87.5% Deep understanding of Java Object Oriented Programming. Able to use encapsulation ...
- java面向对象编程 视频_Java8之面向对象编程视频教程
Java教程之面向对象编程,面向对象是Java语言之中最为重要的特征,本课程主要讲解面向对象的核心知识,并且利用大量的代码.数据结构课程深入分析Java面向对象特征. 课程目录: 课时1:1.面向对象 ...
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
面向对象的特征:封装.继承.多态.(抽象) 一.封装 体现形式: 函数 --- 提高代码的复用性. 属性的私有化 --- 将属性设为私有,通过提供对外的访问方法来间接操作对象属性,可以再方法内对属性做 ...
- 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?
面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...
最新文章
- 【转载from冰河】来杭十周年
- python 从网络URL读取图片并直接处理的代码
- Springboot-Vue-MybatisPlus 返回给前端的 Long类型数据失去精度怎么办 之 Long类型作为实体类的一个属性
- php红色风格,PHP理财版PC+WAP安装包(红色风格+蓝色风格)
- 2016年度太和顾问北京高科技行业人力资本数据信息发布
- js,jquery的数字型字符串变量比较大小
- django 学习个人总结 之many_to_one
- caffe的python接口学习(2):生成solver文件
- Elasticsearch5.X Centos7安装过程
- 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
- 统一建模语言UML概述
- cisco2911路由器破解密码
- 稳定好用的短连接生成平台,支持API批量生成
- Android系统应用---SystemUI之三:状态栏电池图标的显示和Android电池管理的探讨
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- Snipaste 截图贴图
- 使用EasyPoi 导出简单的Excel表格。
- Docker基础之安装部署
- 美柚如何精准引流?怎么通过美柚引流?美柚引流技巧
- 网站实现发送帖子的功能