Java面向对象三大特征理解

Java面向对象三大特征理解1 继承继承是从已有类得到继承信息创建新类的过程 继承提高代码重用性 关于私有属性 官方文档解释 子类不能继承父类的私有属性 但是如果子类中有公共方法操作父类私有属性 则表现出子类可以使用父类的私有属性 注 继承关系不可滥用 例如 java util 包下 Properties 类直接继承 Hashtable 这就是对继承关系的滥用 这里服用代码的方式应该是 Has A 而不是 Is A 另一个方面 容器都属于工具类 继承工具类本身就是一个错误做法 试用工具类最好方式是 Has A 关联关系或者 Use A 依赖关系

1.继承

继承是从已有类得到继承信息创建新类的过程。继承提高代码重用性。关于私有属性,官方文档解释:子类不能继承父类的私有属性,但是如果子类中有公共方法操作父类私有属性,则表现出子类可以使用父类的私有属性。

注:继承关系不可滥用,例如:java.util包下Properties类直接继承Hashtable,这就是对继承关系的滥用。这里服用代码的方式应该是Has-A而不是Is-A。另一个方面,容器都属于工具类,继承工具类本身就是一个错误做法。试用工具类最好方式是Has-A关联关系或者Use-A依赖关系。

2.封装

隐藏细节,把数据和操作数据的方法绑定起来,对外提供接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。一个方法就是一次封装,不关注方法实现,只关注输入输出结果。

3.多态

通俗来讲,用同样的对象引用调用同样的方法但是做了不同的事情。多态就是同一个接口,使用不同的实例而执行不同的操作。

多态实现的条件:

  1. 继承
  2. 重写
  3. 向上转型

多态体现:父类引用变量可以指向子类对象,在使用多态后的父类引用变量的子类调用方法时,会调用子类重写后的方法。

多态特点:

1.多态成员变量:编译运行看左边(成员变量只能取到父类的值)

Fu f = new Zi();

System.out.println(f.num);//只能取到父类中的值

2.多态成员方法:编译看左边,运行看右边

Fu f = new Zi();

System.out.println(f.show());//f的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法

4.补充:抽象

将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象。抽象具有通用型,抽象只关注对象有哪些属性和行为,并不关注行为细节。

 

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

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

(0)
上一篇 2026年3月16日 下午9:29
下一篇 2026年3月16日 下午9:29


相关推荐

  • PLL(锁相环)电路原理

    PLL(锁相环)电路原理最近在看系统时钟 网上找了几篇关于锁相环资料 拼了一篇文档 觉得自己看明白了 分享出来 一 PLL 锁相环 电路原理 nbsp nbsp nbsp 在通信机等所使用的振荡电路 其所要求的频率范围要广 且频率的稳定度要高 无论多好的 LC 振荡电路 其频率的稳定度 都无法与晶体振荡电路比较 但是 晶体振荡器除了可以使用数字电路分频以外 其频率几乎无法改变 如果采用 PLL 锁相环 相位锁栓回路 PhaseLo

    2026年3月19日
    2
  • 【超详细教程】移植RT-Thread nano,并基于 nano 添加 FinSH/shell

    【超详细教程】移植RT-Thread nano,并基于 nano 添加 FinSH/shell目录背景:移植RT-Threadnano,并基于nano添加FinSH/shell前提及准备工作step1:添加rt-threadnano到裸机工程1.1、NanoPack安装方法一:PackInstaller安装方法二:手动安装1.2、基础工程准备1.3、开始移植rttnano到裸机工程1.4、适配RT-Threadnano1.5…

    2022年5月21日
    92
  • cmd查看端口号是否占用

    cmd查看端口号是否占用1.查看所有端口号 netstat2.查看指定的端口号netstat-ano|findstr"8088"

    2022年5月19日
    39
  • AI 智能体(AI Agent)的开发费

    AI 智能体(AI Agent)的开发费

    2026年3月19日
    2
  • C语言浮点数表示法 / float表示法(浮点数表示方法)

    C语言浮点数表示法 / float表示法(浮点数表示方法)一直不太清楚C语言中浮点数是怎么表示的,这篇文章能回答我的问题?浮点表示法float共计32位(4字节)由最高到最低位分别是第31、30、29、……、0位31位是符号位,1表示该数为负,0反之30~23位,一共8位是指数位(-128~127)22~0位,一共23位是尾数位后更。。…

    2022年6月28日
    34
  • java编程中开头public是什么意思?

    java编程中开头public是什么意思?public关键字是和访问权限相关的,它所修饰的方法对所有类都是可以访问的Java中的访问权限共有四种,它们的作用范围如下图所示:注释:public里的所有类包括:在不同包内也可以访问。default访问权限又叫包访问权限:在这种权限下,可以访问在同一个包中的其他类的成员。…

    2022年7月9日
    27

发表回复

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

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