js--6

1.类与对象

类是对象共同特征的描述(设计图),对象是真实存在的具体实例在 Java 中,必须先定义类,才能通过 new 类名() 创建对象。

2.定义类

1.类的组成:成员变量(属性,名词)、成员方法(行为,动词)、构造器等语法:

public class 类名 { // 成员变量、成员方法等 }

3.获取对象

创建对象的语法:类名 对象名 = new 类名();

例如:Phone p = new Phone();

4.使用对象

访问成员变量:对象名.成员变量

调用成员方法:对象名.成员方法(...)

如果成员变量被 private 修饰,需通过 get/set 方法访问。

5.成员变量默认值

基本类型:byte/short/int/long0

float/double0.0

booleanfalse

引用类型(类、接口、数组、String)→ null

局部变量没有默认值,必须手动初始化。封装对象代表什么,就封装对应的数据 和行为通过 private 隐藏数据,提供 publicget/set 方法来访问和修改,保 证数据安全。

6.private 关键字

1.权限修饰符,修饰成员变量和成员方法被修饰的成员只能在本类中访问,外部需通过 get/set 方法操作。

2. get/set 方法setXxx(参数):给成员变量赋值并做合法性校验getXxx():获取成员变量的值例如:setAge(int a) 可以限制年龄范围,getAge() 返回年龄。

7.就近原则

当局部变量与成员变量重名时,优先使用局部变量谁离代码执行点更近就用谁,例如方法内的局部变量 age 会覆盖类中的成员变量 age

8.构造方法

作用:创建对象时由虚拟机自动调用,给成员变量初始化格式:修饰符 类名(参数) { 方法体 }特点:方法名与类名完全一致,没有返回值类型(连 void 都不写),不能 return 数据。9.构造方法注意事项-

若未定义构造方法,系统会默认提供一个无参构造方法- 若定义了构造方法,系统不再提供默认无参构造- 支持重载(无参和带参构造方法共存)- 推荐手动编写无参和带全部参数的构造方法定义带参构造后,如需使用无参构造创建对象,必须手动添加无参构造方法。

10.标准 JavaBean 类

1. 类名见名知意

2. 成员变量用 private 修饰

3. 提供无参构造和带全部参数的构造

4. 为每个成员变量提供 setXxx()getXxx() 方法是 Java 中编写实体类的规范,保证封装性和可操作性。

10.this 关键字

本质:代表方法调用者的地址值常用于区分重名的成员变量与局部变量(如 this.age = age),也可调用本类的其他构造方法(this(...))。

11.成员变量 vs 局部变量

1.位置:成员变量在类中、方法外;

2.局部变量在方法内或方法参数上初始化:成员变量有默认值;

3.局部变量必须手动赋值内存:成员变量在堆内存;

4.局部变量在栈内存生命周期:成员变量随对象创建 / 销毁;

5.局部变量随方法调用 / 结束作用域:成员变量整个类有效;

6.局部变量仅当前方法有效就近原则是两者重名时的核心处理规则。

12.Scanner 输入体系

第一套:nextInt()/nextDouble()/next()(遇到空格、制表符、回车就停止)

第二套:nextLine()(可以接收空格,遇到回车才停止)混合使用时注意:next() 系列会留下换行符,导致后续 nextLine() 读取空字符串,需额外处理(例如在 nextInt() 后调用一次 nextLine() 清空换行)。

相关推荐
invicinble17 分钟前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟30 分钟前
使用ASM和agent监控属性变化
java
黎雁·泠崖37 分钟前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472461 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
TechWJ2 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
qq_12498707532 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.2 小时前
Day06——权限认证-项目集成
java
瑶山2 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy2 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法