当前位置: 首页 > news >正文

关于类和对象的基本区别

我将以我如今的知识来归纳一二

一、定义

1.类的定义

类(class)就是某类事物,其中包含着它这个类的共同特征(属性)行为(方法)

例如:学生类的属性(名字,年龄等),方法(学习等)

// 类的定义:学生类(新手模板) public class Student { // 属性:特征 String name; int age; // 方法:行为 public void study() { System.out.println(name + "正在学习"); } }

2.对象的定义

对象是类的实现,例如:学生A,年龄17,学习什么什么,这个就是对象。你有一个类就可以创建多个对象。

例如:同上类对应的

public class Test { public static void main(String[] args) { // 创建对象:类的具体实例 Student stu = new Student(); // 给对象赋值 stu.name = "张三"; stu.age = 18; // 调用对象方法 stu.study(); // 输出:张三正在学习 } }

二、类与对象的核心特性

1.类的特性

  • 构造方法(对象初始化的灵魂)

  1. 作用:创建对象时自动给属性赋值,不用写完new再一行行赋值。

  2. 分类:无参构造(默认存在)、有参构造(简化赋值)、重载构造(适配不同初始化场景);

  3. 补充:创建有参构造后无参构造将不复存在!得再添加一个无参构造

  • 访问控制(封装的核心手段)

  1. 核心修饰符:private(仅本类访问)、public(全局访问)、protected(子类 / 同包访问)、默认(同包访问);

  2. 最佳实践:属性私有化(private)+ 提供get/set方法(加校验逻辑),比如给age属性加校验,拒绝负数 / 超龄值;
  3. 博客案例:对比 “裸属性直接访问” 和 “封装后访问” 的安全性,体现面向对象的封装思想。
  • 静态成员(类级别的共享资源)

  1. 静态属性(类变量):所有对象共享,比如Student.school = "北京大学",所有学生对象的学校都是这个值,修改后全局生效;
  2. 静态方法(类方法):无需创建对象,直接通过类名调用(如Math.random()),适合工具类(如DateUtil);
  3. 注意点:静态方法不能直接访问非静态成员(因为静态属于类,非静态属于对象)。内部类(类的嵌套设计)
  • 内部类(类的嵌套设计)

  1. 分类:成员内部类、局部内部类、匿名内部类(高频)、静态内部类;
  2. 实战场景:匿名内部类简化接口实现(如new Runnable(){...}),静态内部类解决外部类的逻辑拆分(如HashMap.Node)。

2.对象的特性

  • 实例化性

对象必须通过new类名()语法创建,是类在内存中的具体落地,没有实例化的类无法直接提供业务功能。

  • 独立性

每个对象在堆内存中拥有独立的存储空间,修改一个对象的属性值不会影响其他同类型对象,体现了实例的 “个体差异”。

  • 可操作性

对象创建后,可通过对象名.属性访问数据、对象名.方法名()调用行为,是面向对象编程中直接操作的最小单元。

  • 生命周期性

对象从new关键字触发创建(分配内存、执行构造方法初始化),到被引用变量操作,最终在无有效引用指向时,由 Java 垃圾回收器(GC)自动回收销毁,无需手动释放内存。

三、总结

类和对象的区别还是非常大的。

类是面向对象编程的 “设计蓝图”,通过封装、静态成员等特性定义一类事物的通用规则;

对象是蓝图落地的 “实物”,依托实例化、独立性等特性,将类的共性规则转化为具体的业务场景。

理解二者的核心区别与特性,是掌握 Java 面向对象思想的基础。

http://www.jsqmd.com/news/523205/

相关文章:

  • sql盲注 sqli-lab8
  • 整理2026年广州无版纸箱印刷机排名,无版纸箱印刷机精品定制推荐 - 工业设备
  • cv_resnet50_face-reconstruction多场景落地:支持千万级证件库的批量人脸标准化重建调度系统设计
  • K8S 高级调度-叩丁狼
  • 2025-2026年中国精益生产咨询公司推荐:工厂现场改善口碑机构及用户反馈分析 - 品牌推荐
  • AI智能体视觉检测(TVA)与常规AI视觉检测的区别
  • 「权威评测」2026年国内虫情测报灯厂家实力推荐,谁才是靠谱之选? - 深度智识库
  • CasRel模型在Ubuntu服务器上的生产环境部署详解
  • 剖析2026年昆山高效分选机排名,高性价比厂家推荐 - mypinpai
  • 2026年虫情测报灯厂家推荐:从“经验判断”到“数据说话”的智慧选择 - 深度智识库
  • 最好用的文档解密大师——文档密码恢复大师
  • Flyway、Liquibase难以覆盖 NineData 的多环境发版流程编排能力?
  • 2026年中国精益生产咨询公司推荐:中小企业降本增效靠谱选择与口碑评价 - 品牌推荐
  • 2026年会计学论文降AI率工具推荐:财经类同学用这几款最顺手
  • Cartographer建图后,如何用两种方法正确保存.pgm地图文件(附避坑点)
  • 深度剖析:OpenClaw Skill 的生命周期与执行引擎
  • FLUX.1-dev适合谁?给想体验顶级画质又怕配置麻烦的AI绘画新手
  • 2026年高新技术企业认定公司推荐:科技企业资质升级全流程服务与高通过率机构盘点 - 品牌推荐
  • 遥感新手别迷茫!PIE Engine Studio保姆级入门指南(从注册到第一个NDVI分析)
  • 怎么用 API 搭一个 AI 客服机器人?从 0 到上线的完整踩坑记录
  • 2026年3月上海瀛新园电话:公墓、墓地、墓园、传统中式墓、生态葬选择指南 - 海棠依旧大
  • 基于MCU与MPS数字电源模块的可编程电源控制系统
  • STLink工具从v1.7.0到v1.8.0版本升级全指南
  • 深度解析APP侵害用户权益的十大典型问题及合规整改指南
  • 2026年3月望仙园电话:公墓、安息园、传统中式墓、生态葬、草坪葬、树葬选择指南 - 海棠依旧大
  • 给开发环境“瘦身”:用VirtualBox最小化安装CentOS 8 Stream,打造你的专属Docker/K8s实验床
  • 2026年高密度聚乙烯板厂家推荐:沧州普乐思新材料,超高聚乙烯板/超高分子聚乙烯板厂家精选 - 品牌推荐官
  • 保姆级教程:在Ubuntu 22.04上从源码编译ROS2 Humble(含常见网络问题解决)
  • 2026年3月上海汇龙园联系方式:墓地、公墓、墓园、陵园、传统中式墓、生态葬选择指南 - 海棠依旧大
  • 转让定价管理:告别 Excel 依赖,筑牢集团合规防线