java初始化对象的几种方法实例讲解
在java中初始化对象有3
种方式,它们分别如下 -
- 通过引用变量初始化对象
- 通过方法初始化对象
- 通过构造函数初始化对象
(更多教程请阅读码农之家)
通过引用变量初始化对象
初始化对象仅仅是将数据初步地存储到对象中。下面来看看一个简单的例子,通过引用变量初始化对象。这里创建一个 TestStudent2.java
类文件,代码如下:
class Student {
int id;
String name;
}
class TestStudent2 {
public static void main(String args[]) {
Student s1 = new Student();
s1.id = 101;
s1.name = "Sonoo";
System.out.println(s1.id + " " + s1.name);// printing members with a
// white space
}
}
上面代码输出结果如下 -
101 Sonoo
还可以通过引用变量创建多个对象并存储信息在这些对象。这里创建一个 TestStudent3.java
类文件,代码如下:
class Student {
int id;
String name;
}
class TestStudent3 {
public static void main(String args[]) {
// Creating objects
Student s1 = new Student();
Student s2 = new Student();
// Initializing objects
s1.id = 101;
s1.name = "Sonoo";
s2.id = 102;
s2.name = "Amit";
// Printing data
System.out.println(s1.id + " " + s1.name);
System.out.println(s2.id + " " + s2.name);
}
}
上面代码输出结果如下 -
101 Sonoo
102 Amit
通过方法初始化对象
在本示例中,将创建Student
类的两个对象,并通过调用insertRecord
方法来初始化这些对象的值。并通过调用displayInformation()
方法显示对象的状态(数据)。这里创建一个 TestStudent4.java
类文件,代码如下:
class Student {
int rollno;
String name;
void insertRecord(int r, String n) {
rollno = r;
name = n;
}
void displayInformation() {
System.out.println(rollno + " " + name);
}
}
class TestStudent4 {
public static void main(String args[]) {
Student s1 = new Student();
Student s2 = new Student();
s1.insertRecord(111, "Karan");
s2.insertRecord(222, "Aryan");
s1.displayInformation();
s2.displayInformation();
}
}
执行上面代码,得到如下结果 -
111 Karan
222 Aryan
创建对象的示意如下 -
从上图可以看出,对象在堆内存区域获取内存。 引用变量指的是在堆内存区域中分配的对象。 这里,s1
和s2
都是引用存储器中分配的对象的引用变量。
通过构造函数初始化对象
有关于通过构造函数初始化对象,我们将在后面的Java构造函数中学习。
对象和类示例:Employee
下面我们来看看一个例子,实现维护员工信息的记录。这里创建一个 TestEmployee.java
类文件,代码如下所示 -
class Employee {
int id;
String name;
float salary;
void insert(int i, String n, float s) {
id = i;
name = n;
salary = s;
}
void display() {
System.out.println(id + " " + name + " " + salary);
}
}
public class TestEmployee {
public static void main(String[] args) {
Employee e1 = new Employee();
Employee e2 = new Employee();
Employee e3 = new Employee();
e1.insert(101, "ajeet", 45000);
e2.insert(102, "irfan", 25000);
e3.insert(103, "nakul", 55000);
e1.display();
e2.display();
e3.display();
}
}
上面代码执行得到结果如下 -
101 ajeet 45000.0
102 irfan 25000.0
103 nakul 55000.0
对象和类示例:Rectangle
还有另一个维护Rectangle
类记录的例子。这里创建一个 TestRectangle1.java
类文件,代码如下所示 -
class Rectangle {
int length;
int width;
void insert(int l, int w) {
length = l;
width = w;
}
void calculateArea() {
System.out.println(length * width);
}
}
class TestRectangle1 {
public static void main(String args[]) {
Rectangle r1 = new Rectangle();
Rectangle r2 = new Rectangle();
r1.insert(11, 5);
r2.insert(3, 15);
r1.calculateArea();
r2.calculateArea();
}
}
上面代码执行得到结果如下 -
55
45
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~