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

java面向对象三大特征及五大原则java面向对象一、java面向对象的三大特征1、封装(Encapsulation)封转是指属性私有化根据需要提供setter和getter方法来访问属性隐藏具体属性和实现细节,仅对外开放接口控制程序中属性的访问级别目的:增强数据安全性,不能让其他用户随意访问和修改数据,简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员2、继承(Extend)继承是指将…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

java面向对象

一、java面向对象的三大特征

1、封装(Encapsulation)

封转是指属性私有化

  • 根据需要提供setter和getter方法来访问属性
  • 隐藏具体属性和实现细节,仅对外开放接口
  • 控制程序中属性的访问级别

目的:增强数据安全性,不能让其他用户随意访问和修改数据,简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员

2、继承(Extend)

继承是指将多个相同的属性和方法提取出来,新建一个父类

  • java中一个类只能继承一个父类,且只能继承访问权限非private属性和方法
  • 子类可以重写父类中的方法,命名与父类中同名的属性

目的:代码复用

3、多态

多态(Polymiorph)可以分为两种:设计时多态、运行时多态

设计(编译)时多态:即重载(Overload),是指java允许方法名相同而参数不同(返回值可以相同也可以不同),同一个类中允许存在一个或多个以上的同名函数,只要参数类型或参数个数不同即可

运行时多态:即重写(Override)必须是在继承体系中,子类重写父类方法,JVM运行时根据调用该方法的类型决定调用那个方法

目的:增加代码的灵活度

总结:

1、java中应尽量减少继承关系,以降低耦合度

2、使用多态时,父类在调用方法时,优先调用子类的方法,如果子类没有重写父类的方法,则再调用父类的方法

3、java访问控制符作用范围表:

本类 本包 子类 外部包
public
protected X
default X X
private X X X

✓:可以访问 X:不可访问

二、java面向对象的五大原则

单一职责原则:一个类,最好只做一件事,只有一个引起它变化。每个类应该实现单一的职责,如果不是,那就把类拆分

开放封闭原则:对扩展开放,对修改封闭

里氏替换原则:子类必须能够替换其基类,里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现

依赖倒置原则:依赖于抽象接口,不要依赖于具体实现,简单来说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户于与实现模块间的耦合

接口隔离原则:使用多个小的专门接口,而不是使用一个大的接口

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159958.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring aop工作原理_注解的实现原理

    spring aop工作原理_注解的实现原理本篇旨在让读者对SpringAOP实现原理有一个宏观上的认识,因此会丢失一些细节,具体实现参考:老实人Spring源码目录阅读本篇文章前,希望读者对SpringIoc以及SpringAOP的使用(@Aspect)由一定了解,话不多说,直接上图准备工作Service类:有find方法跟save方法,find方法前后需要缓存操作,save方法前后需要事务操作CacheableAspec…

    2022年9月18日
    0
  • serv-u搭建ftp服务器心得_U服务

    serv-u搭建ftp服务器心得_U服务1、先安装好Serv-U,并作为系统服务安装2、打开Serv-U,新建一个域3、添加用户4、解决阿里云专有网络的一个问题遇到一个情景:需要使用Serv-U进行FTP更新软件,其中使用PASV的连接方式,这种方式客户要求连接FTP的时候,Serv-U会随机产生一个端口发送给客户端,告诉客户端通过这个端口来发送文件;而阿里云专有网…

    2022年9月12日
    0
  • SDN中的LLDP和Openflow协议[通俗易懂]

    SDN中的LLDP和Openflow协议[通俗易懂]OpenFlow交换机把传统网络中,完全由交换机/路由器控制的报文转换为由交换机和控制器来共同完成数据的转发操作,从而实现数据的转发与路由控制的分离。控制器则通过事先规定好的接口操作OpenFlow交换机中的流表,从而达到数据转发的目的。SDN链路发现和拓扑管理主要是控制其利用南向接口的上行通道对底层交换设备上报信息进行统一监控和统计;而策略制定和表项下发则是控制器利用南向接口的下行通道…

    2022年5月11日
    39
  • Windows7瘦身和备份

    Windows7瘦身和备份

    2022年3月8日
    41
  • 使用 parted 对单个磁盘进行分区并进行配额「建议收藏」

    使用 parted 对单个磁盘进行分区并进行配额「建议收藏」文章目录1.实验要求2.实验步骤3.我的一次实验步骤1.实验要求虚拟机新增一个硬盘,大小大于10G,使用parted工具对磁盘进行分区,分区类型为ext4对新增分区设置磁盘配额,限制lisi用户最多允许使用200M的容量大小并最多允许创建10个文件2.实验步骤准备一个新虚拟机,我们用新环境进行实验VMware添加一块20G硬盘echo”—“>/sys/class/scsi_host/host0/scan#扫描主机fdis

    2022年8月11日
    6
  • java heap space 什么意思_java内存溢出之Java heap space

    java heap space 什么意思_java内存溢出之Java heap space作为一个java程序员,大家都应该认识JVM。JVM作为java的核心,实在太重要了。而内存溢出又是程序员常遇到的错误之一,如果你对JVM的原理足够了解,那么解决这样的问题就不在是一件困难的事情。关于内存溢出,一般有下面这八个症状,本文将说明引发特定错误的原因,提供了可能导致此类错误的代码示例,并提供了解决方案的修复准则,希望对做开发的小伙伴能有一定的帮助。本篇是第1小篇。OutOfMemoryE…

    2022年7月9日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号