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

类和对象(一)

类的定义和使用(一)

1.1定义

类是用来对一个实体(对象)进行描述的,主要描述该实体(对象)的属性和功能

1.2 类的定义格式

在Java中定义类时需要⽤到class关键字,具体语法如下

Java中定义类时需要⽤到class关键字,具体语法如下// 创建类classClassName{field;// 字段(属性) 或者 成员变量method;// ⾏为 或者 成员⽅法}

class为定义类的关键字
ClassName为类的名字采用大驼峰的命名方式
field为类中的成员变量主要是用来描述类的
方法主要用来说明类具有哪些功能`

classWashMachine{publicStringbrand;// 品牌publicStringtype;// 型号publicdoubleweight;// 重量publicdoublelength;// ⻓publicdoublewidth;// 宽publicdoubleheight;// ⾼publicStringcolor;// 颜⾊publicvoidwashClothes(){// 洗⾐服System.out.println("洗⾐功能");}publicvoiddryClothes(){// 脱⽔System.out.println("脱⽔功能");}publicvoidsetTime(){// 定时System.out.println("定时功能");}}

注意事项:

  1. ⼀般⼀个⽂件当中只定义⼀个类
  2. public修饰的类必须要和⽂件名相同
  3. 不要轻易去修改public修饰的类的名称,如果要修改,通过开发⼯具修改

2.类的实例化

2.1什么是实例化

类就相当于自定义的类型,而实例化就代表用该类型创造一个变量,用类创造对象的过程就称为实例化。

2.2怎么实例化

采用new关键字来实现实例化,具体代码如下

publicclassMain{publicstaticvoidmain(String[]args){PetDogdogh=newPetDog();//通过new实例化对象PetDogdogs=newPetDog();}}

2.3 如何访问对象中的成员

在上述已经用类创建了一个对象,那么该对象该如何进行访问呢,具体代码如下

publicclassMain{publicstaticvoidmain(String[]args){PetDogdogh=newPetDog();//通过new实例化对象dogh.name="阿⻩";dogh.color="⿊⾊";dogh.barks();dogh.wag();PetDogdogs=newPetDog();dogs.name="赛⻁";dogs.color="⻩⾊";dogs.barks();dogs.wag();12345678910111213比特就业课}}输出结果: 阿⻩:旺旺旺~~~阿⻩:摇尾巴~~~赛⻁:旺旺旺~~~赛⻁:摇尾巴~~~

3.对象的构造和初始化

3.1默认初始化

publicclassDate{publicintyear;publicintmonth;publicintday;publicstaticvoidmain(String[]args){// 此处a没有初始化,编译时报错:// Error:(24, 28) java: 可能尚未初始化变量a// int a;// System.out.println(a);Dated=newDate();System.out.println(d.year);System.out.println(d.month);System.out.println(d.day);}}//输出000

注:在Java中局部变量必须初始化否则报错,但是成员变量如果不初始化有默认值

3.2 就地初始化

在声明成员变量时,就直接给出了初始值。

publicclassDate{publicintyear=1900;publicintmonth=1;publicintday=1;publicDate(){}publicDate(intyear,intmonth,intday){}publicstaticvoidmain(String[]args){Dated1=newDate(2021,6,9);Dated2=newDate();}}

3.3 构造方法初始化(常用的初始化方法)

3.3.1 什么是构造方法

构造方法是特殊的成员方法,它没有返回类型且方法名必须与类名相同,在创建对象时,由编译器⾃动调⽤,并且在整个对象的⽣命周期内只调⽤⼀次。

publicclassDate{1publicintyear;publicintmonth;publicintday;publicDate(intyear,intmonth,intday){this.year=year;this.month=month;this.day=day;System.out.println("Date(int,int,int)⽅法被调⽤了");}publicvoidprintDate(){System.out.println(year+"-"+month+"-"+day);}publicstaticvoidmain(String[]args){// 此处创建了⼀个Date类型的对象,并没有显式调⽤构造⽅法Dated=newDate(1999,6,9);// 输出Date(int,int,int)⽅法被调⽤了d.printDate();// 1999-6-9}}

3.3.2 构造方法的注意事项

1.在没有写任何构造方法时默认有一个无参数的构造方法
2.名字必须与类名一样
3.没有返回值
4.构造方法可以重载

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

相关文章:

  • Java 如何从PLC 读取数据
  • JavaSE
  • 基于javaweb和mysql的ssm公开课记录管理系统(java+ssm+html+javascript+jsp+mysql)
  • SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
  • C++27 <mdspan>与USTRUCT内存布局冲突?UE6.5.3已静默修复但未文档化!附3行Patch代码+UnrealBuildTool自定义规则注入教程
  • 速冻机修正版
  • 地球系统模式——CESM
  • 全国铸造材料厂家实力测评!2026最新专业推荐榜单揭晓 - 深度智识库
  • RDPWrap-v1.6.2 + rdpwup-8 + RDP-win10系统远程多用户登录连接
  • 合作流程清晰简单的被芯生产工厂
  • 我的第一篇博客文章!
  • Agentic RAG:当检索增强生成遇上智能体,如何解决长尾知识的精准响应?
  • 2026年国内伺服刀塔实力厂家:谁在领跑精密加工核心部件国产替代? - 品牌推荐大师1
  • WebGoat JWT 密钥伪造关卡通关实战 | JWT 爆破与伪造全流程(第十一关)
  • 专业的初升高怎么学供应商
  • 2026年 吸塑制品厂家推荐排行榜:吸塑盒定制、吸塑托盘、食品吸塑盒、PET/PVC吸塑包装,专业源头工厂实力解析与口碑之选 - 品牌企业推荐师(官方)
  • 互联网大厂Java求职者面试实录:严肃面试官与搞笑谢飞机
  • 大模型压缩技术:知识蒸馏
  • 城市轨道交通网络客流大数据可视化系统【附源码】
  • 小龙虾OpenClaw免费无限量调用GLM-5和Qwen3.5-397B-A17B
  • 2026年口碑好的国际搬家专业公司推荐,全程无忧服务解析 - 工业设备
  • 专科生也能用!好评如潮的AI论文网站 —— 千笔·专业论文写作工具
  • 如何评估AI沉浸式体验系统的架构合理性?架构师给出5个指标
  • 基于python的社交媒体大数据挖掘与分析 【附源码】
  • 大模型压缩技术:模型架构调整
  • 2026年选购滚轮架聚氨酯胶轮,靠谱的聚氨酯胶轮生产厂有哪些 - 工业品牌热点
  • 2026年现浇阁楼专业厂家推荐:武汉锐贤钢结构工程有限公司,湖北现浇阁楼全系解决方案 - 品牌推荐官
  • 03 MATLAB/Simulimk 低压用户型电能路由器仿真模型(光伏发电+储能+逆变孤网运行)
  • 2026年盘点贵阳动漫游戏开发培训,专业靠谱机构推荐哪家 - 工业品网
  • reactor介绍以及reactor实现自发自送TCP服务器