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

Java 学习笔记(基础篇6)

面向对象基础

1. 类和对象

(1) 示例:

public class Student {String name = "张三";int age = 23;public void study() {System.out.println("学习 Java");}public void eat() {System.out.println("吃饭");}
}
public class Test {public static void main(String[] args) {Student stu = new Student(); // 创建对象stu.study();  // 使用对象的成员方法stu.eat();    // 使用对象的成员方法}
}

(2) 自动对齐快捷键

打开需要格式化的 Java 文件后,按下快捷键:

  • Windows/LinuxCtrl + Alt + L

(3) private 关键字

作用:private 可以修饰成员(成员变量和成员方法),作用是保护成员不被别的类使用,被private修饰的成员只能在本类中才能访问。

使用:针对private修饰的成员变量,如果需要被其他类使用,应提供相应的操作。
(1)提供 get 变量名() 方法,用于获取成员变量的值,方法用public修饰;
(2)提供 set 变量名(参数)方法,用于设置成员变量的值,方法用public修饰。

示例:

public class GirlFriend {private String name;private int age;private String gender;public void setName(String n) {name = n;}public String getName() {return name;}
}

Q1:为什么方法前没有 static 修饰?

  • 定义static 修饰的成员(变量或方法)属于类本身,而非类的实例(对象)。
  • setName 和 getName 操作的是对象的非静态成员变量 name(每个对象的 name 是独有的),必须通过对象实例调用,因此不能用 static 修饰。

Q2:setter 与 getter 方法的设计逻辑

  • setter 方法(如 setName):
    作用是设置成员变量的值,通常接收参数并赋值,无需返回结果,因此用 void,且无 static(依赖对象实例)。

  • getter 方法(如 getName):
    作用是获取成员变量的值,需要将值返回给调用者,因此必须指定返回值类型(与成员变量类型一致),且无 static(依赖对象实例)。

Q3:为什么使用 name = n?

  • name 是类中定义的成员变量(属于对象的属性),作用域是整个类。
  • n 是方法 setName 的参数变量,作用域仅限于当前方法内部。
    这句代码的意思是:把外部传入的参数 n 的值,保存到当前对象的 name 成员变量中。

(4) this 关键字

  • 用来解决局部变量与成员变量同名的问题,明确区分两者。
public class Student {String name;public void setName(String name) {this.name = name;  // 使用 this 关键字来区分成员变量和局部变量}
}

2. 构造方法

(1) 定义:构造方法用于初始化对象的成员变量。构造方法的名称必须与类名相同,且没有返回值类型。

(2) 注意事项:

① 构造方法的创建:如果没有定义构造方法,系统将给出一个默认的无参数构造方法;如果定义了构造方法,系统将不再提供默认的构造方法。

② 构造方法的重载:如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法。

public class Student {String name;int age;public Student() {  // 无参数构造方法this.name = "默认";this.age = 18;}public Student(String name, int age) {  // 带参数构造方法this.name = name;this.age = age;}
}

③ 推荐的使用方式:无论是否使用,都手工书写无参数构造方法。

3. JavaBean 的规范

(1) 类的访问权限:public 修饰

(2) 成员变量:私有(private)封装

(3) 访问方法:提供公共的 getter 和 setter

(4) 构造方法:必须包含无参数构造

4. 成员变量和局部变量

(1) 成员变量:类中方法外的变量。

(2) 局部变量:类中方法中的变量。

(3) 成员变量和局部变量的区别

http://www.xdnf.cn/news/18427.html

相关文章:

  • 分布式唯一 ID 生成方案
  • leetcode 3 无重复字符的最长子串
  • 将集合拆分成若干个batch,并将batch存于新的集合
  • C语言第十章内存函数
  • C语言:第18天笔记
  • 【自记】Power BI 中 ALLNOBLANKROW的适用场景举例
  • 疏老师-python训练营-day51复习日+退款开始
  • 计算机网络技术学习-day4《路由器配置》
  • SQL 中大于小于号的表示方法总结
  • 微软宣布开源大模型gpt-oss在Azure平台实现性能突破
  • Git 新手完全指南(二):在vscode中使用git
  • 官网SSO登录系统的企业架构设计全过程
  • UNet改进(33):基于CBAM原理与PyTorch实战指南
  • Ubuntu 上安装 MongoDB
  • Hyperledger Fabric官方中文教程-改进笔记(十三)-使用测试网络创建通道
  • iOS 应用迭代与上架节奏管理 从测试包到正式发布的全流程实践
  • Scikit-learn 预处理函数分类详解
  • 阶跃星辰 StepFun 入驻 GitCode 平台,带来工业级 AI 体验
  • 密码加密算法和JWT无状态认证
  • [系统架构设计师]面向服务架构设计理论与实践(十五)
  • C++ 数据结构 和 STL
  • [Polly智能维护网络] 弹性上下文 | `ResiliencePropertyKey<TValue>`
  • WPF Alert弹框控件 - 完全使用指南
  • 2025年电赛A题省一方案
  • AR 虚实叠加技术在工业设备运维中的实现流程方案
  • 5G-A赋能AR眼镜:毫米级虚实融合的未来已来
  • 通过try-catch判断数据库唯一键字段是否重复
  • 网络流量分析——基础知识
  • MySQL 数据与表结构导出 Excel 技术文档
  • Ubuntu 主机名:精通配置与管理