首页 > 编程语言 >【java八股】面向对象三大特征

【java八股】面向对象三大特征

时间:2022-11-11 17:57:02浏览次数:42  
标签:重写 java 继承 子类 面向对象 父类 方法 实现 三大

  1. 封装:

    把客观事务封装成抽象的一个类,并且类可以通过4个修饰限制符,把自己的数据和方法只让可信的类或者是对象来操作,对不可信的进行信息隐藏,

    1. 对数据提供了保护,保证数据的安全
    2. 对外部隐藏了细节,使调用者不必关心内部实现,便于开发者使用和维护
  2. 继承:

    是一种能力,使新类能够继承现有类的属性和方法的能力,被继承的类称为“父类”或者“超类”,继承的方式主要是分为两种:一种是实现继承,另一种是接口继承。实现继承是指直接使用父类的方法和属性,无需额外编码的一种方式。接口继承是指使用接口的属性和方法的名称,但是子类必须提供实现的一种方式。

    避免代码的冗余和对相同功能的重复描述,并能在此基础上扩展新的能力,子类可以对父类的方法进行重写,并且不会影响父类的方法的使用。

  3. 多态:

    一个类实例的相同方法再不同情况下有不同的表现形式,在继承的前提下通过重写和重载能够实现这样几种情况:

    1. 父类引用子类对象时,子类通过对父类的方法的重写可以修改父类方法的实现但是不会影响父类方法的原有功能,并且可以通过向上转型的方式,再次调用父类的方法。
    2. 父类引用子类对象时,对于父类的方法的可以有多个子类去实现,通过调用不同的子类可以实现对实现方法的灵活替换,不必修改原来的代码。
    3. 通过重载的方式,同一个类中对相同的方法可以有不同的实现,以统一的方式处理不同类型的数据。

标签:重写,java,继承,子类,面向对象,父类,方法,实现,三大
From: https://www.cnblogs.com/blanset/p/16881295.html

相关文章

  • javascript基础算法之判断一个随机整数是否为质数
    质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;functionsolution(num){if(num<=1){return'数据错......
  • java使用freemarker模板插件生成html页面
    1、功能描述:使用java代码,根据指定的ftl模板文件,生成html静态页面文件 freemarker模板是直接可以与SSM这种javaweb项目、或springboot整合的,不做前后分离。跟jsp差不多......
  • DAY1(3)JAVA环境搭建
    JAVA开发环境搭建JDK下载与安装oracle官网下载jdk8记住安装路径配置环境变量我的电脑-->右键-->属性环境变量-->JAVA_HOME配置path变量测试命令......
  • JavaScript常用工具函数
    检测数据是不是除了symbol外的原始数据functionisStatic(value){return(typeofvalue==='string'||typeofvalue==='number'||typeofvalue......
  • 要学完Java大概需要多长时间
      其实学习任何东西都一样,包括学习Java。刚开始我们可以使用快速浏览全局的方法来去学习它,不要过多的去涉及细节问题,记不住就不记了。在这刚开始的阶段学习什么,就专心去......
  • JavaScript中常见的八个陷阱总结
    1.你是否尝试过对数组元素进行排序?JavaScript默认使用字典序(alphanumeric)来排序。因此, [1,2,5,10].sort()的结果是[1,10,2,5]。如果你想正确的排序,应该这样做: [1......
  • Java用正则表达式提取字符串中的字母和数字
    最新碰到个需求,需要从一个字符串中提取所有的数字和字符串,花了一些时间研究了下正则和相关类库后解决了,特此记录下代码如下:publicStringextractNumAndLetter(Strings......
  • 如何通过Java导出带格式的 Excel 数据到 Word 表格
    在Word中制作报表时,我们经常需要将Excel中的数据复制粘贴到Word中,这样则可以直接在Word文档中查看数据而无需打开另一个Excel文件。但是如果表格比较长,内容就会存在一定程......
  • Java8新特性 - 04 - 方法引用06 - 方式五 【类名[]::new
    参考:https://blog.csdn.net/qq_39505245/article/details/1231427801.类名[]::new`1.将Lambda表达式替换为【类名[]::new】的写法。2.确保【数组的构造方法】的......
  • JAVA 六种常见线程池
    在我们日常业务开发中,如果遇到使用线程池的场景时,会先去思考一下这种场景需要使用到怎样的线程池,去避免线程资源滥用。这个时候选择困难症就来了,不过不用担心,Java其实早......