news 2026/3/27 1:09:27

Java面向对象编程三大核心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java面向对象编程三大核心

好的,我们来详细解释Java面向对象编程中的三个重要概念:this关键字、构造方法和标准JavaBean。


1.this关键字

this是一个特殊的引用,指向当前对象实例本身。主要用于以下场景:

1.1 区分成员变量与局部变量

当方法的形参或局部变量与成员变量同名时,使用this明确指代成员变量:

public class Person { private String name; // 成员变量 public void setName(String name) { // 局部变量name this.name = name; // 用this访问成员变量 } }
1.2 调用当前对象的其他方法

在方法内部调用本类的其他方法:

public class Calculator { public void printResult(int a, int b) { System.out.println("Result: " + this.add(a, b)); // 调用本类方法 } private int add(int a, int b) { return a + b; } }
1.3 在构造方法中调用其他构造方法

使用this(参数)调用本类的其他构造方法(必须放在构造方法的第一行):

public class Student { private String name; private int age; public Student() { this("Unknown", 18); // 调用带参构造方法 } public Student(String name, int age) { this.name = name; this.age = age; } }

2. 构造方法(Constructor)

构造方法用于初始化对象,具有以下特点:

  1. 方法名与类名相同,无返回值类型(连void也没有)。
  2. 支持重载:一个类可以有多个参数列表不同的构造方法。
  3. 在创建对象时自动调用:通过new关键字触发。
示例
public class Book { private String title; private String author; // 无参构造方法 public Book() { this.title = "Untitled"; this.author = "Unknown"; } // 带参构造方法 public Book(String title, String author) { this.title = title; this.author = author; } } // 使用构造方法创建对象 Book book1 = new Book(); // 调用无参构造 Book book2 = new Book("Java Guide", "John Doe"); // 调用带参构造

3. 标准JavaBean

JavaBean是一种符合特定规范的类,主要用于封装数据。其标准包括:

  1. 私有字段(Private Fields):所有属性用private修饰。
  2. 公共访问方法:为每个属性提供getXxx()setXxx()方法。
  3. 无参构造方法:必须显式或隐式存在(若未定义任何构造方法,编译器会自动生成无参构造)。
示例
public class User { // 1. 私有字段 private String username; private int age; // 2. 无参构造方法(显式定义) public User() {} // 3. 公共访问方法 public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { if (age >= 0) { // 可添加逻辑校验 this.age = age; } } }

总结

  • this:解决命名冲突,链式调用,构造方法复用。
  • 构造方法:对象初始化的入口,支持重载。
  • JavaBean:通过getter/setter封装数据,便于框架(如Spring)操作。

通过组合使用这些特性,可以写出结构清晰、易于维护的面向对象代码。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 7:34:40

小白到专家:大模型学习指南与应用场景解析

文章介绍了AI大模型的基本概念、发展历程、分类和应用实践。大模型是拥有数十亿至数千亿参数的机器学习模型,通过海量数据训练展现类人能力。其发展经历了萌芽期、沉淀期和爆发期,主要分为语言、视觉和多模态大模型。大模型已在自然语言处理、创意产业和…

作者头像 李华
网站建设 2026/3/26 22:38:16

基于MATLAB的局部特征尺度分解(LCD)实现与优化

一、LCD核心算法实现步骤信号预处理 去噪:采用小波阈值去噪或EMD去趋势项归一化:将信号幅值映射到[0,1]区间极值点检测 function [max_peaks, min_peaks] find_extrema(x)n length(x);max_peaks [];min_peaks [];for i 2:n-1if x(i) > x(i-1) &a…

作者头像 李华
网站建设 2026/3/19 7:16:58

<span class=“js_title_inner“>结直肠癌五年生存率为何骤降?bulk+单细胞+空间转录组整合揭秘肿瘤微环境“变脸”全过程(附全套复现代码)</span>

为什么结直肠癌的五年生存率在早期接近90%,而一旦进展到IV期,这个数字会断崖式下跌到仅14%左右? 2023年4月,Gastroenterology Report 杂志发表了中山大学附属第六医院兰平教授团队的研究,该研究利用单细胞和空间转录组…

作者头像 李华
网站建设 2026/3/26 21:57:24

Python中的PO模型的实例

1.PO模型在自动化中经常会被使用到,一下就是PO模型的具体实例2.实现BasePagefrom selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains #鼠标操作class BasePage():BasePage封装所有界面都公用的方法。例如driver,find_el…

作者头像 李华