news 2026/6/10 17:37:13

Java基础——面向对象的特征

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java基础——面向对象的特征

面向对象有哪些特征?

封装、抽象、继承、多态

1.封装

封装就是指隐藏对象的属性和实现细节,将对象的数据、属性、行为、方法等组合到一个单一的单元中,并通过访问修饰符控制成员属性的访问和修改权限,再通过特定公开的方法(比如:getter和setter方法)暴露外面访问。

比如以下代码:

public class User{ //使用private修饰字段,实现封装 private String name = "***"; //提供公共的访问方法(getter) public String getName(){ return name; } //提供公共的修改方法(setter) public void setName(){ this.name = name; } }

name属性被private封装起来,外面只能通过对象的getName方法才能访问,通过对象的setName方法才能进行修改。

2.抽象

抽象就是对同一个目标的共有的属性、特征、方法、功能、行为等进行抽取并归纳总结,它是一种将复杂现实简化为模型的过程,它关注的是对象的行为,而不用关注具体的实现细节。

在面向对象编程中,抽象主要通过抽象类和接口来实现的:

  • 抽象类是不能被实例化的,他会包含一些抽象方法方法和具体实现的方法。
  • 接口则是一种特殊的抽象类型,一般仅包含抽象方法的声明,在Java8+中可以包含默认方法和静态方法实现。

抽象可以在不知道具体实现的情况下编程,提高了代码的灵活性和扩展性。

比如下面的代码:

/** *抽象类:动物 */ public abstract class Animal{ //抽象方法,由子类实现 abstract void eat(); //具体方法可以复用 public void sleep(){ System.out.println("动物在睡觉"); } } /** *接口:可飞的 */ public interface Flyable{ void fly(); } /** *具体类:狗,继承动物,不实现接口 */ public class Bird extends Animal{ @Override void eat(){ System.out.println("狗吃骨头"); } } /** *具体类:鸟,继承动物,实现接口 */ public class Bird extends Animal implements Flyable{ @Override void eat(){ System.out.println("鸟吃虫子"); } @Override public void fly(){ System.out.println("鸟在飞"); } }

通过抽象类和接口结合,可以实现灵活多变的类层级结构,同时解耦业务逻辑,是架构设计中非常常见的做法。

3.继承

继承是一种实现代码重用的机制,允许一个类继承另一个类的成员和方法,使得子类也能具有父类相同的行为。

继承是通过extends关键字实现的:

/** *父类:动物 */ public abstract class Animal{ //抽象方法,由子类实现 abstract void eat(); //具体方法可以复用 public void sleep(){ System.out.println("动物在睡觉"); } } /** *子类:狗,继承动物 */ public class Bird extends Animal{ @Override void eat(){ system.out.println("狗吃骨头"); } }

Java类之间只能实现单继承,接口之间可以实现多继承。

4.多态

多态即【多种形态】,指同一个行为在不同的情况下多种不同的表现形式或形态,主要体现为同一个接口或父类的引用指向不同的实现对象,并能够在运行时动态决定调用的具体实现,这使得程序有更好的灵活性和可扩展性。

比如下面的代码:

public class Test{ public static void main(String[] args){ //父类引用指向子类对象(向上转型) Animal animal = new Dog(); //调用的是子类的重写方法,体现多态行为 animal.eat();//输出:狗吃骨头 } }

通过父类引用变量指向子类时,当调用父类的方法时,它实际上会根据实际对象的类型,去调用子类中的方法,所以输出的是狗吃骨头,而不是动物吃饭。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 17:37:12

Codex 不再只是写代码:开发者要判断它是否真正融入工作流

这两天讨论 AI 编程工具的技术圈,比单纯的性能排行榜更热的一个话题,是 OpenAI 将 Codex 从写代码的助手,演进成面向各种工作自动化的平台,并推出了针对业务角色的插件,让它能处理数据分析、报告、表格、销售流程、产品…

作者头像 李华
网站建设 2026/6/10 17:34:06

NSK VH20AN高防尘直线导轨技术手册

VH20AN 是 NSK(日本精工)VH系列直线导轨中的高负载型/标准规格的方型滑块型号(“AN”代表标准长度的方型滑块,适合从上方通过螺栓安装)。 | 编码 | 属性 | 数据 | 内容 | |------|------|--------|------| | A |…

作者头像 李华
网站建设 2026/6/10 17:31:13

徐州懂事星球推荐门店

在徐州,如果你正在为孩子配镜的事情发愁,那么一定要了解一下徐州沐明眼镜苏宁广场店。这里不仅是孩子配镜的理想之选,更是守护青少年视力健康的专业机构。一、专业验光,精准定制孩子年龄小,初次配镜时,很多…

作者头像 李华
网站建设 2026/6/10 17:26:57

ARM7TDMI-S经典架构解析:LPC2377/78嵌入式系统设计与外设实战

1. 项目概述:为什么LPC2377/78在今天依然值得深究?在嵌入式开发领域,我们常常追逐最新的Cortex-M系列内核,谈论着动辄几百兆赫兹的主频和丰富的生态。但回过头看,像NXP(原飞利浦半导体)的LPC237…

作者头像 李华
网站建设 2026/6/10 17:25:03

多模态讽刺检测技术:GDCNet的创新与应用

1. 项目概述:多模态讽刺检测的挑战与突破讽刺作为一种特殊的语言现象,其表面含义与实际意图往往存在显著差异。在社交媒体时代,图像与文本的组合成为讽刺表达的重要载体,这使得多模态讽刺检测(Multimodal Sarcasm Dete…

作者头像 李华