js--6

1.类与对象

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

2.定义类

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

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

3.获取对象

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

例如:Phone p = new Phone();

4.使用对象

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

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

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

5.成员变量默认值

基本类型:byte/short/int/long → 0;

float/double → 0.0;

boolean → false

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

局部变量没有默认值,必须手动初始化。封装对象代表什么,就封装对应的数据 和行为通过 private 隐藏数据,提供 public 的 get/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() 清空换行)。

相关推荐
小羊没烦恼!5 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 天前
java中的继承和多态的区别
java
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时5 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang5 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++