首页 > 编程语言 >【java面试题】面向对象的特征

【java面试题】面向对象的特征

时间:2022-08-15 09:22:10浏览次数:55  
标签:面试题 java 继承 多态 面向对象 封装 父类

【java面试题】面向对象的特征

 

面向对象编程是利用类和对象编程的一种思想,万物可归类,类是对于世界事物的高度抽象,万物皆对象,对象是具体的世界事物。

面向对象的三大特征:封装、继承、多态。

封装说明一个类的行为和属性与其他类的关系,低耦合,高内聚。

继承是父类和子类的关系。

多态说的是类与类的关系。

 

  • 封装:封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而言它的内部细节是隐藏的,暴露给外界的只是它的访问方法。

    • 属性的封装:使用者只能通过事先定制好的方法来访问数据,可以方便的加入逻辑控制,限制对属性的不合理操作

    • 方法的封装:使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用,便于修改,增强代码的可维护性。

  • 继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的属性数据和行为,并能扩展新的能力。Java通过extends关键字来实现继承,父类中通过private定义的方法和属性不会被继承。继承避免了 对一般类和特殊类之间共同特征进行的重复描述。

  • 多态:多态指的是类与类的关系,两个类有继承关系,存在有方法的重写,故而可以调用时有父类引用指向子类对象,多态必备的三个要素:继承、重写、父类引用指向子类对象

 

为什么这三大特性可以帮助我们更好地写代码?

 

封装增加了代码的复用性,封装好的东西可以重复使用

继承增加了代码的复用性

多态增加了代码的可移植性、健壮性、灵活性

标签:面试题,java,继承,多态,面向对象,封装,父类
From: https://www.cnblogs.com/wztblogs/p/16587095.html

相关文章

  • 长篇图解java反射机制及其应用场景
    一、什么是java反射?在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new类名()方式来获取该类的对象。也就是说我们需要在写代码的时候(编译期或者编译期之......
  • Java开发学习(二十五)----使用PostMan完成不同类型参数传递
    一、请求参数请求路径设置好后,只要确保页面发送请求地址和后台Controller类中配置的路径一致,就可以接收到前端的请求,接收到请求后,如何接收页面传递的参数?关于请求参数的......
  • 【Java】List排序方法(包括对象、Map等内部排序实现)
    前言日常开发中经常会对List集合做排序操作,JDK为我们提供了强大的排序方法,可以针对对象、Map、基本类型等进行正/倒排序操作。参考博客:JAVA列表排序方法sort和reversed......
  • javaweb Filter详解
    Filter详解1.快速入门packagecom.cj.filter;importjavax.servlet.*;importjavax.servlet.annotation.WebFilter;importjavax.servlet.annotation.WebServlet;i......
  • Day2(复习java基础知识)
    Java基础java是一门强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 Java的特性简单性面向对象可移植性高性能分布式动态......
  • 【Linux】Java获取Linux本机ip为127.0.0.1的解决方法
    前言参考博客:Java获取Linux本机ip为127.0.0.1的解决方法最近新部署了一台服务器,环境搭建好后,运行相应的项目代码时,发现项目获取的服务器IP地址不是我想要的Java代码中......
  • Java面向对象
    面向对象一、对象类=方法+属性面向过程:步骤清晰简单,第一步做什么,第二部做什么,适合处理一些较为简单的问题面向对象:分类的思维,思考问题需要哪些分类,对这些分类进行单独......
  • Java异常
    Java异常一、error和exception1、检查性异常用户错误或问题引起的异常,这是程序员无法预见的,在编译时不能简单忽略2、运行时异常可能被程序员避免的异常,可以再编译时被......
  • Java8新特性学习笔记
    java8JavaNIOjavaNIO(NewIO,Non-BolckingIO)是从java1.4版本引入的一套新的IOAPI,可以替代标准的javaioapi。nio支持面向缓冲区的(io是面向流的)、基于通道的IO操作......
  • JavaScript快速入门-01-环境搭建
    1环境搭建  搭建JavaScript开发环境有很多种组合,本文中采用VisualStudioCode和Node.js的组合,详细如下所示:1.1Node.js环境搭建1.1.1下载Node.js  不管是基......