java五大原则_Java面向对象的三大特征和五大原则
Java面向对象的三大特征
封装
封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别。
封装目的:增强数据安全性,不能让其他用户随意访问和修改数据,和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员。
继承
继承(Extend)是指将多个相同的属性和方法提取出来,新建一个父类
Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法。 子类可以重写父类中的方法,命名与父类中同名的属性。
继承目的:代码复用。
多态
多态(Polymiorph)可以分为两种:设计时多态和运行时多态。
设计(编译)时多态:即重载(Overrload),是指Java允许方法名相同而参数不同(返回值可以相同也可以不相同)。在同一个类中,允许存在一个或一个以上的同名函数,只要参数类型或参数个数不同即可。
运行时多态:即重写(Override)必须是在继承体系中,子类重写父类方法,JVM运行时根据调用该方法的类型决定调用哪个方法。
多态目的:增加代码的灵活度。
总结归纳
1.Java中应尽量减少继承关系,以降低耦合度。
2.使用多态时,父类在在调用方法时,优先调用子类的方法。如果子类没有重写父类的方法,则再调用父类的方法。
3.Java访问控饰符作用范围表:
本类
本包
子类
外部包
public
✓
✓
✓
✓
protected
✓
✓
✓
X
default
✓
✓
X
X
private
✓
X
X
X
符号含义, ✓:可以访问 X:不可访问
protected java.lang.Object.clone()方法,在一个类中调用另一个类的clone方法提示 ‘clone()’ has protected access in 'java.lang.Object'
错误是因为:另一个类中的clone()方法继承自Object方法。而这个继承的clone()方法只能在另一个类中使用。
而当前调用类和另一个类不存在继承关系,所以不能调用另一个类的clone()方法。
Java面向对象的五大特征
1.单一职责原则:一个类,最好只做一件事,只有一个引起它变化。也就是说每个类应该实现单一的职责,如若不然,就应该把类拆分。
2.开放封闭原则:对扩展开发,对修改封闭。
3.里氏替换原则:子类必须能够替换其基类。里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。
4.依赖倒置原则:依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
5.接口隔离原则:使用多个小的专门接口,而不是使用一个大的接口。
java五大原则_Java面向对象的三大特征和五大原则相关推荐
- java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法
面向对象的三大特征:继承.封装.多态 继承的实现 继承让我们更加容易实现类的扩展.子类是父类的扩展 使用extends实现继承 package cn.sxt;public class Test {pu ...
- 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态
Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态 多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向 ...
- 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?
面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...
- java面向对象认定的特征_Java面向对象的三大特征(一)
在Java的学习和使用过程中都要面对一个问题--->对象.我们程序员是最不缺对象的,需要时就new一个,简单.方便.快捷.在生活中任何人都不能说Java程序员没对象,因为我们可以随时new出一个 ...
- java面向对象三大特征及五大原则
java面向对象 一.java面向对象的三大特征 1.封装(Encapsulation) 封转是指属性私有化 根据需要提供setter和getter方法来访问属性 隐藏具体属性和实现细节,仅对外开放接 ...
- 面向对象:三大特性与五大原则
面向对象:三大特性与五大原则 面向对象(Object Oriented, OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布 ...
- 面向对象的三大特征(封装、继承、多态)
Java知识点总结:想看的可以从这里进入 目录 3. 面向对象三大特征 3.1.封装 3.2. 继承 3.3. 多态 3.3.1.对象的多态 1.向上转型 2.向下转型 3.3.2.方法的多态 1.重 ...
- Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...
- python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)
面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...
最新文章
- Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦
- 挂载WebDav提供的网络存储----Client端
- HTML标签语义化——使用b标签,还是strong标签
- VUE的element-ui的使用
- Android aidl在Framework的使用
- Java 字符串匹配的KMP算法
- python空条件_python – 如何在SQLAlchemy中指定一个条件,其中一个条件要求列为空?...
- AndroidStudio_Base64图片的解码_编码_要注意的地方---Android原生开发工作笔记223
- 实体与电商,有啥区别?
- Confluence 6 SQL 异常的问题解决
- ICE专题:实战分布式的Hello Word 【原创】
- PicGo+码云(gitee)图床环境搭建
- SWF 学习笔记 ——《如何在内存中提取出加密的SWF》
- 一个初学者的辛酸路程-常用模块-6
- 视觉SLAM十四讲 第9讲 卡尔曼滤波
- stvd c语言编译器,STM8--STVD编译工具安装与程序下载
- 博思得标签打印机驱动_博思得 Postek 打印机驱动下载
- Oracle 多行显示在一行详解(listagg)
- 计算机过热保护,CPU过热 保护电脑关机的解决办法有哪些
- CTF之MISC练习一
热门文章
- java小程序死机_求解,刚写的小程序,一运行我机器就死机
- 手把手教你配置Kali Linux
- C/C++使用socket实现server和client
- 在局域网可以访问电脑中存放的网页(IIS服务)
- Codeforces Round #498 (Div. 3)【完结】
- RabbitMQ添加用户
- php学历低,学历低学起php来难不难
- 找工作java还是python有用_你觉得学 Python 还是 Java 更好找工作?
- 二级分类_iOS 13.3正式版,增加信息联系人二级分类,支持联通VoLTE功能
- python分类算法报告_Python机器学习(1)——决策树分类算法