在这里插入图片描述

文章目录

  • 👏类和对象的概念
    • 什么是类?
    • 什么是对象?
  • 🥝构造方法
  • 如何创建一个对象?
  • 🥝对象内存布局
    • 完整应用 - 编写一个类:人,其具备年龄、性别、姓名等基础属性,并实例化一个人员对象
  • 注意事项⚠️
    • 1.定义类有什么需要注意的?
    • 2.成员变量有什么需要注意的?

👏类和对象的概念

什么是类?

类(class)是对一类事务的抽象描述,它定义了这类事物具有共同的属性(数据)和行为(方法)。
比如:“汽车”可以看作一个类:

  • 属性:颜色、品牌、排量、价格(这些都是所有汽车都具备的特征)
  • 行为:启动、加速、刹车、鸣笛(这些都是所有汽车都能执行的操作)
  • 类只规定了事物的特征和能力,本身并不存在实体,在Java中类的定义需要使用class关键字,基本结构如下:

    public class 类名 {// 属性(成员变量)数据类型 属性名1;数据类型 属性名2;// 行为(成员方法)返回值类型 方法名1(参数列表) {// 方法体}返回值类型 方法名2(参数列表) {// 方法体}
    }
    

    什么是对象?

    对象(Object)是类的具体实例,是根据类创建的“实体”。如果类是学生,那么 “张三(学号:2023001,年龄:18)” 就是一个对象。
    对象具有唯一的标识(内存地址)、状态(属性的具体值)

    一张图解释类和对象的关系:
    在这里插入图片描述
    通过上图来创建一个简单的类来理解下Java中类的定义:

    public class Dog {String breed;int size;String colour;int age;void eat() {}void run() {}void sleep(){}void name(){}
    }
    

    一个类可以包含以下类型变量:

    1. 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
    2. 成员变量.:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
    3. 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

    一个类可以拥有多个方法,在上面的例子中:eat()、run()、sleep() 和 name() 都是 Dog 类的方法


    🥝构造方法

     每个类都有自己的构造方法,如果没有显示地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法
     而在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类名相同,一个类可以有多个构造方法。
    下面是一个构造方法示例:

    public class Puppy{public Puppy(){}public Puppy(String name){// 这个构造器仅有一个参数:name}
    }
    

    如何创建一个对象?

    对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。 下面是一个创建对象的例子:
  • public class Puppy{public Puppy(String name){//这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name ); }public static void main(String[] args){// 下面的语句将创建一个Puppy对象Puppy myPuppy = new Puppy( "tommy" );}
    }
    

    🥝对象内存布局

    Cat类:

    public class Cat {String name;String color;int age;
    }
    

    图片左边为执行的操作,右边为new的对象在内存中的存在形式:
    在这里插入图片描述
    说明:age为int类型,属于基本数据类型,直接存放在所new对象的堆中;而age和color都和数组一样,属于常量引用类型,所以new对象后在堆中存放的是对应常量池的地址

    完整应用 - 编写一个类:人,其具备年龄、性别、姓名等基础属性,并实例化一个人员对象

    class Person {int age;String name;String gender;public void sleep() {System.out.println(name + "正在睡觉");}public void show() {System.out.println(name + " " + age + " " + gender);}
    }public class Test {public static void main(String[] args){Person p = new Person();p.name="林七夜";p.age=20;p.gender="男";p.sleep();p.show();}
    }
    

    运行结果:

    林七夜正在睡觉
    林七夜 20 男
    

    注意事项⚠️

    1.定义类有什么需要注意的?

  • 类名首字母建议大写、英文、有意义,满足驼峰模式,不能用关键字
  • 一个代码文件中可以定义多个类,但是只能有一个类是public修饰的,public修饰的类名必须是Java文件的文件名称
  • 2.成员变量有什么需要注意的?

  • 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值 ;
  • 一般无需指定初始化值

  • 如果我的内容对你有帮助,请 点赞 评论 收藏 。创作不易,大家的支持就是我坚持下去的动力!
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91725.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91725.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91725.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Synopsys:默认报告精度(report_default_significant_digits变量)

相关阅读 Synopsyshttps://blog.csdn.net/weixin_45791458/category_12812219.html?spm1001.2014.3001.5482 在使用report_timing之类的报告命令时,可以使用-significant_digits选项指定报告的精度,在不使用该选项的情况下,命令使用由repor…

2025年蓝桥杯青少图形化编程国考真题——摆放玩具

编程实现摆放玩具。(角色非源素材)摆放规则:在方格中摆放玩具,每个方格只能摆放一个,并且如果某个方格中已经摆放了玩具,那么与之上、下、左、右相邻的四个方格中无法再摆放同种玩具。具体要求1&#xff09…

Android 应用的安装流程

安装流程总览: 用户触发安装->系统验证APK的合法性->解析APK元数据->检查权限和存储空间->复制APK到目标位置->生成应用私有数据->注册组件到系统->安装完成 关键步骤: 1.用户触发安装:a.通过应用商店b.通过adb命令c.通…

基于 Amazon Bedrock 与 Anthropic Claude 3 智能文档处理方案:从扫描件提取到数据入库全流程实践

基于 Amazon Bedrock 与 Anthropic Claude 3 智能文档处理方案:从扫描件提取到数据入库全流程实践 文章目录基于 Amazon Bedrock 与 Anthropic Claude 3 智能文档处理方案:从扫描件提取到数据入库全流程实践方案架构前提准备:亚马逊云科技注册…

深入浅出设计模式——创建型模式之单例模式 Singleton

文章目录“天上天下,唯我独尊”——单例模式单例模式简介单例模式结构饿汉式懒汉式客户端示例运行结果单例模式总结构建型模式 Creational Patterns 小结 Summary代码仓库“天上天下,唯我独尊”——单例模式 你能在电脑上调出两个Windows任务管理器吗&a…

静电释放检测漏报率↓85%!陌讯多模态融合算法在电子厂ESD防护实战解析

​摘要​​ 基于边缘计算的静电释放(ESD)视觉检测方案,通过多模态融合技术显著提升复杂场景鲁棒性。实测显示:在电子元件装配线上,ESD事件检测mAP0.5达89.1%,较基线模型提升28.3%。一、行业痛点:ESD检测的隐形危机根据…

RAL-2025 | “藏宝图”驱动的具身导航!HAM-Nav:基于手绘地图引导的机器人导航

作者:Aaron Hao Tan, Angus Fung, Haitong Wang, Goldie Nejat单位:多伦多大学机械与工业工程系论文标题:Mobile Robot Navigation Using Hand-Drawn Maps: A Vision Language Model Approach出版信息:IEEE ROBOTICS ANDAUTOMATI…

Vue.js 与后端技术结合开发指南

Vue.js 作为现代化的前端框架,可以与多种后端技术完美结合,构建全栈应用。下面我将详细介绍 Vue 可以与哪些后端技术结合开发,并提供可视化示例。Vue 可结合的后端技术概览主流组合方案对比后端技术适合场景优点缺点学习曲线Node.js全栈JavaS…

逻辑回归在银行贷款审批中的应用:参数选择与实践

目录 一、数据背景与预处理 1.数据前五行 2.数据预处理步骤 二、逻辑回归的正则化参数选择 1.交叉验证选择最优C 2.为什么选择召回率作为评估指标? 三、参数选择的核心结论 四、后续优化方向 在银行贷款审批场景中,准确判断贷款人是否符合贷款条…

数据结构前篇 - 深入解析数据结构之复杂度

目录一、数据结构前言1.1 数据结构1.2 算法二、算法效率2.1 复杂度的概念三、时间复杂度3.1 大O的渐进表示法3.2 时间复杂度计算示例3.2.1 示例13.2.2 示例23.2.3 示例33.2.4 示例43.2.5 示例53.2.6 示例63.2.7 示例7四、空间复杂度4.1 空间复杂度计算示例4.1.1 示例14.1.2 示例…

Master Prompt:AI时代的万能协作引擎

1. Master Prompt:为什么它正在重塑AI协作范式大模型落地的最大痛点不是技术本身,而是人机协作的断裂。当企业采购了昂贵的AI系统,却发现输出内容反复偏离预期,团队成员抱怨“AI总听不懂我要什么”,这种场景每天在无数…

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU使用containerd部署K8S 1.33.3容器板集群(一主多从)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 一、架构图 如下图所示: 二、环境信息 基于x86_64+aarch64架构使用containerd部署K8S 1.33.3集群资源合集(一主多从) 2、部署规划 主机名 K8S版本 系统版本 CPU架构 内核版…

一次性接收大量上传图片,后端优化方式

文章目录1. 分块接收与流式处理2. 异步处理3. 内存映射与临时文件4. 数据库优化5. 缓存策略6. 压缩与格式优化7. 限流与并发控制8. 分布式存储9. 响应优化10. 监控与错误处理11. 数据库连接池优化1. 分块接收与流式处理 使用流式处理避免将所有图片加载到内存中: …

二分查找(基础)

竞赛中心 - 蓝桥云课 #include <iostream> #include<bits/stdc.h> using namespace std; #define int long long int N; struct NO {int A,B; }a[10001]; bool ok(int V) {for (int i 0; i < N; i){if (a[i].A / V ! a[i].B){return false;}}return true; } …

流式编程学习思路

流式编程学习思路 作为Java初级工程师,想要掌握流式编程并向高级工程师进阶,需要从基础到进阶逐步掌握,结合实战场景深化理解。以下是为你量身定制的学习清单和思路: 一、基础阶段:吃透 Java Stream 核心API 1. 掌握 Stream 的基本概念 什么是 Stream:理解它与集合(Co…

13-14linux三剑客grep,sed,awk

目录 三剑客支持扩展正则写法 grep命令 sed命令 sed指定行查找&#xff1a; sed模糊过滤文件内容 sed之删除&#xff1a; sed之替换&#xff1a; sed追加插入替换&#xff1a; sed后向引用&#xff1a; awk命令 awk按照行查找 awk模糊过滤文件内容 awk取列 awk指…

损失函数和调度器相关类代码回顾理解 |nn.CrossEntropyLoss\CosineAnnealingLR

目录 nn.CrossEntropyLoss CosineAnnealingLR nn.CrossEntropyLoss loss_func nn.CrossEntropyLoss(reduction"sum") 定义nn.CrossEntropyLoss交叉熵损失函数&#xff0c;reduction参数设置为"sum"&#xff0c;表示将所有样本的损失相加。reduction 参…

中国不同类型竹林分布数据

中国竹林分布的主要特点简介&#xff1a;总体分布格局&#xff1a;核心区域&#xff1a; 主要分布在长江流域及以南的广大亚热带和热带地区。北界&#xff1a; 大致以黄河流域为北界&#xff0c;但天然成片竹林在秦岭-淮河一线以南才比较普遍。人工引种或特殊小环境下&#xff…

Sqlserver备份恢复指南-完整备份恢复

博主会用简单清晰的方式&#xff0c;带你系统学习使用T-SQL命令行的方式 给SQL Server 做备份与恢复。我们按照从零开始、逐步深入的路线来讲解&#xff01; 完整备份恢复-差异增量备份恢复-事务日志备份恢复 &#x1f538; SQL Server 备份类型&#xff1a;类型说明完整备份&a…

AI 调酒师上岗!接管酒吧吧台

7月29日&#xff0c;马老师的 HHB 音乐酒吧在阿里巴巴西溪园区正式开业&#xff0c;开业这天迎来了一位神秘嘉宾“AI 调酒师”&#xff01; 这位 AI 调酒师不仅能根据你的MBTI、今日情绪、星座运势、江湖花名等为你特调一杯鸡尾酒&#xff0c;还能为这杯酒配上故事和诗文。 点…