# Java 三大属性:

面试时候问的一个很基础的问题,也是面向对象的三大特点。

## 一、封装

首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。

1.概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。

2.好处:(1)实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。(2)隐藏信息,实现细节。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。

## 二、继承:

就是个性对共性的属性与方法的接受,并加入个性特有的属性与方法。

1.概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。

2.目的:实现代码的复用。

3.理解:子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的 关系,是is-a的关系,子类是父类更加详细的分类。如class dog extends animal,就可以理解为dog is a animal.注意设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换原则,即向修改关闭对扩展开放,也就是开-闭原则。

4.结果:继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并不能被继承。另外子类可以写自己特有的属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法的重写。

## 三、多态:

多态的概念发展出来,是以封装和继承为基础的。多态就是在抽象的层面上实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为。(针对一个抽象的事,对于内部个体又能找到其自身的行为去执行)。

1.概念:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

2.理解:子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。

java mask_Java 三大属性:相关推荐

  1. Java的三大特性之继承

    此处我会分为这几个部分来理解继承是怎么样的: 1.区分封装.继承和多态 2.区分限定词的范围 3.区分隐藏.覆盖.重载 4.继承的理解 5.一道面试题的原型 --------------------- ...

  2. java的封装性的优点_18、Java的三大特性之封装

    Java的三大特性 java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要. 封装 我们为什么 ...

  3. java三大特性 继承_java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  4. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  5. java遍历一个类的属性名,java遍历对象属性

    java对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态添加属性 java 对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态 ...

  6. JAVA的三大特性(举例说明)

    众所周知,Java属于面向对象编程的一种语言,基于面向对象编程则更加符合人的思维模式,编写的程序亦能够更加健壮和强大.而Java的三大特性则是指:封装性.继承性.多态性!下面我通过具体的实例谈一下自己 ...

  7. java提高篇(三)-----理解java的三大特性之多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...

  8. java 集成_java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  9. 【职坐标】java面向对象三大特性(二)——继承详解

    [职坐标]java面向对象三大特性(二)--继承详解 a) 什么是继承? i. 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可 b) ...

最新文章

  1. 不连续子网掩码的魅力
  2. 《汇编语言》实验五课程
  3. python 利用numpy进行数据分析
  4. Spring Security——集成Spring Session、Redis和JSON序列化解决方案
  5. Repeater控件的分隔线
  6. 多對多、單向一對多做ORM時最好用基于连接表的方式
  7. MQTT 固定报头 中 剩余长度字段的计算
  8. quartus调用74系列的芯片
  9. SQL SERVER 2019安装 SQL Prompt 10.02版本
  10. 计算机平面设计考试试题及答案,最新国家开放大学电大专科《计算机平面设计(1)》网络课形考任务1及任务2答案...
  11. 三星Q950T全景声回音壁测试心得
  12. Win11卸载程序在哪里?Win11卸载软件的两种方法
  13. 【Git】error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was rece
  14. 京东EB级全域大数据平台的演进与治理历程
  15. 秋招总结|阿里转正失败,到拿到10个大厂产品offer
  16. 采集规则:小说网站 www.hexaworld.net适用于易读系统的采集规则
  17. 基于LiFi可见光通信技术的研究及应用转化调查
  18. 2022年氮气液化器市场前景分析及研究报告
  19. python数字切片_Python学习笔记-数字,列表,元祖,切片,循环
  20. arm el2与el3_armv8架构与指令集.整理.初稿.pdf

热门文章

  1. 蓝桥杯java能用编译器1吗_学java的你,这些英文单词都掌握了吗?
  2. 设置公共请求参数_基于分布式锁的防止重复请求解决方案(值得收藏)
  3. Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长
  4. neditor 自定义工具栏配置
  5. Android之Notification初识
  6. java openssl dgst_(7) openssl dgst(生成和验证数字签名)
  7. python 线程池回收_python实现线程池
  8. 天龙八部网单服务器技能修改,天龙八部3门派技能修改介绍
  9. python字典遍历的几种方法(转)
  10. springboot 控制台程序读取配置文件(原创)