【Java】—— Java面向对象基础:Person类实例操作

server/2024/9/24 8:54:45/

目录

一、定义Person类

二、创建Person对象并操作

三、理解对象之间的关系

四、总结


        在Java编程中,面向对象编程(OOP)是一种非常核心且广泛使用的编程范式。它允许我们通过类(Class)来定义对象的属性和行为,从而模拟现实世界的实体和它们之间的交互。本文将通过一个简单的Person类实例,展示如何在Java中创建对象、设置属性、调用方法,并体会同一个类的不同对象之间的关系。

一、定义Person类

                首先,我们定义一个Person类,它包含三个属性:name(姓名)、age(年龄)和gender(性别),以及三个方法:study(学习)、showAge(显示年龄)和addAge(增加年龄)。

java">public class Person {  String name;  int age;  char gender;  public void study() {  System.out.println("studying");  }  public int showAge() {  return age;  }  public void addAge(int addAge) {  age += addAge;  }  
}

二、创建Person对象并操作

        接下来,在PersonTest类中,我们创建Person类的实例(对象),并对它们进行操作。

java">public class PersonTest {  public static void main(String[] args) {  // 创建第一个Person对象p1  Person p1 = new Person();  // 调用属性并设置值  p1.name = "Tom";  p1.age = 24;  p1.gender = '男';  // 调用方法  p1.study(); // 输出:studying  // 调用showAge方法并获取返回值  int age1 = p1.showAge();  System.out.println("p1的年龄 = " + age1); // 输出:p1的年龄 = 24  // 调用addAge方法给p1的年龄增加2岁  p1.addAge(2);  // 再次调用showAge方法查看p1的年龄  int age2 = p1.showAge();  System.out.println("p1的年龄 = " + age2); // 输出:p1的年龄 = 26  // 创建第二个Person对象p2(此处省略设置属性和方法的调用,仅作为说明)  // Person p2 = new Person();  // ... 对p2的操作 ...  }  
}

运行结果:

三、理解对象之间的关系

        在上述代码中,我们创建了两个Person对象p1p2(尽管p2的实例化及其后续操作在示例中被省略了)。这两个对象虽然都是Person类的实例,但它们是完全独立的。这意味着修改p1的属性或调用其方法,不会影响到p2。例如,给p1的年龄增加2岁,并不会影响p2的年龄(如果p2存在且已设置年龄)。

四、总结

        通过Person类的实例操作,我们学习了如何在Java中创建对象、设置对象的属性、调用对象的方法,并体会了同一个类的不同对象之间的独立性。面向对象编程的核心思想之一就是封装,即隐藏对象的内部状态和行为,只对外提供有限的接口(方法)进行操作。这种方式使得程序更加模块化、易于理解和维护。

        希望本文能够帮助你更好地理解Java面向对象编程的基本概念。如果你对Java或面向对象编程有任何疑问,欢迎在评论区留言讨论。


http://www.ppmy.cn/server/106244.html

相关文章

面试题目:(6)翻转二叉树

题目 翻转二叉树 (中间对称翻转,等于镜像)给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例1: 输入:root [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例1&#xff1…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存(CustomData)功能(Python)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存(CustomData)功能(Python) Baumer工业相机Baumer工业相机的数据保存(CustomData)功能的技术背景CameraExplorer如何使用数据保存&#…

【C#】【EXCEL】Bumblebee/Classes/ExRange.cs

Flow diagram 为了创建一个全面但不过于复杂的流程图,我们将重点关注 ExRange 类的主要功能和方法。以下是一个中英双语的流程图,展示了 ExRange 类的主要结构和操作流程: #mermaid-svg-SYKM6gZKQKi0qEx1 {font-family:"trebuchet ms&q…

Django Signals

Django Signals 当某个事件发生的时候,signal(信号)允许senders(发送者)用来通知receivers(接收者),通知receivers干嘛?你想要recivers干嘛就可以干嘛。这在多处代码对同一个事件感兴趣的时候就有用武之地了。 比如:Django提供了…

找在两个汉字中间的句号,如何写正则表达式?

要在两个汉字之间找到句号&#xff0c;可以使用以下正则表达式&#xff1a; (?<[\u4e00-\u9fff])。(?[\u4e00-\u9fff])解释&#xff1a; (?<[\u4e00-\u9fff]) 表示前面的字符是汉字。。 表示句号。(?[\u4e00-\u9fff]) 表示后面的字符是汉字。 这个正则表达式将匹配…

爆改YOLOv8 | 利用MB-TaylorFormer提高YOLOv8图像去雾检测

1&#xff0c;本文介绍 MB-TaylorFormer是一种新型多支路线性Transformer网络&#xff0c;用于图像去雾任务。它通过泰勒展开改进了softmax-attention&#xff0c;使用多支路和多尺度结构以获取多层次和多尺度的信息&#xff0c;且比传统方法在性能、计算量和网络重量上更优。…

Git的使用教程及常用语法02

四.将文件添加到仓库 创建仓库 git init查看仓库的状态 git status 添加到暂存区 git add提交 git commitgit status 可以查看当前仓库的状态信息&#xff0c;例如包含哪些分支&#xff0c;有哪些文件以及这些文件当前处在怎样的一个状态。 由于当前没有存储任何的东西&…

【Redis】

一.Widows下如何安装Redis? *(1) .下载地址: 点击跳转. 如下图: 在这里插入图片描述 *(2) .下载成功后将其移动到我们想要安装的目录下并且解压: 如下图: 在这里插入图片描述 *(3) .进入后有以下内容文件&#xff1a; *(4) .先点击redis-server.e…