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面向对象的三大特征和五大原则相关推荐

  1. java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法

    面向对象的三大特征:继承.封装.多态 继承的实现 继承让我们更加容易实现类的扩展.子类是父类的扩展 使用extends实现继承 package cn.sxt;public class Test {pu ...

  2. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态

    Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态 多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向 ...

  3. 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?

    面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...

  4. java面向对象认定的特征_Java面向对象的三大特征(一)

    在Java的学习和使用过程中都要面对一个问题--->对象.我们程序员是最不缺对象的,需要时就new一个,简单.方便.快捷.在生活中任何人都不能说Java程序员没对象,因为我们可以随时new出一个 ...

  5. java面向对象三大特征及五大原则

    java面向对象 一.java面向对象的三大特征 1.封装(Encapsulation) 封转是指属性私有化 根据需要提供setter和getter方法来访问属性 隐藏具体属性和实现细节,仅对外开放接 ...

  6. 面向对象:三大特性与五大原则

    面向对象:三大特性与五大原则 面向对象(Object Oriented, OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布 ...

  7. 面向对象的三大特征(封装、继承、多态)

    Java知识点总结:想看的可以从这里进入 目录 3. 面向对象三大特征 3.1.封装 3.2. 继承 3.3. 多态 3.3.1.对象的多态 1.向上转型 2.向下转型 3.3.2.方法的多态 1.重 ...

  8. Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细

    目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...

  9. python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)

    面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...

最新文章

  1. Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦
  2. 挂载WebDav提供的网络存储----Client端
  3. HTML标签语义化——使用b标签,还是strong标签
  4. VUE的element-ui的使用
  5. Android aidl在Framework的使用
  6. Java 字符串匹配的KMP算法
  7. python空条件_python – 如何在SQLAlchemy中指定一个条件,其中一个条件要求列为空?...
  8. AndroidStudio_Base64图片的解码_编码_要注意的地方---Android原生开发工作笔记223
  9. 实体与电商,有啥区别?
  10. Confluence 6 SQL 异常的问题解决
  11. ICE专题:实战分布式的Hello Word 【原创】
  12. PicGo+码云(gitee)图床环境搭建
  13. SWF 学习笔记 ——《如何在内存中提取出加密的SWF》
  14. 一个初学者的辛酸路程-常用模块-6
  15. 视觉SLAM十四讲 第9讲 卡尔曼滤波
  16. stvd c语言编译器,STM8--STVD编译工具安装与程序下载
  17. 博思得标签打印机驱动_博思得 Postek 打印机驱动下载
  18. Oracle 多行显示在一行详解(listagg)
  19. 计算机过热保护,CPU过热 保护电脑关机的解决办法有哪些
  20. CTF之MISC练习一

热门文章

  1. java小程序死机_求解,刚写的小程序,一运行我机器就死机
  2. 手把手教你配置Kali Linux
  3. C/C++使用socket实现server和client
  4. 在局域网可以访问电脑中存放的网页(IIS服务)
  5. Codeforces Round #498 (Div. 3)【完结】
  6. RabbitMQ添加用户
  7. php学历低,学历低学起php来难不难
  8. 找工作java还是python有用_你觉得学 Python 还是 Java 更好找工作?
  9. 二级分类_iOS 13.3正式版,增加信息联系人二级分类,支持联通VoLTE功能
  10. python分类算法报告_Python机器学习(1)——决策树分类算法