JAVA中类的调用成员的过程

本文详细解析了Java中创建对象的过程,从加载类文件到完成对象的初始化,包括内存分配、属性初始化等多个步骤。

一:代码示例

public class person{

public person(){};

String name;

String sex;

 static String con ="China"; 

public viod getName(){  return name; }

public viod getSex(){  return sex; }

......

public static void mian(String [] args){

person p = new person();

p.getName();

}

}

二:图文解释


2.1  person p = new person() 这句代码做了什么事情?

1、因为用到了person.class,先找到person.class加载到内存中。

2、执行该类中的静态代码块(如果有),给person.class初始化。

3、在堆内存中开辟空间,分配内存地址。

4、在堆内存中建立对象的属性(非静态),进行默认初始化。

5、对属性进行显示初始化。

6、对对象进行构造代码块初始化。

7、对对象进行构造函数初始化。

8、将内存地址给栈内存中的实例P.


2.2过程


### 调用Java中的成员函数 在Java中,调用成员函数通常涉及创建该的一个实例对象并使用点运算符`.`来访问这些方法。下面通过定义一个`Rectangle`及其成员函数作为例子展示这一过程。 #### 定义 `Rectangle` 首先,在Java里声明一个名为`Rectangle`的,并为其添加几个成员变量以及对应的成员函数(即方法),如设置长度(`setLength`)、宽度(`setBreadth`)的方法和计算面积(`getArea`)的方法[^1]: ```java public class Rectangle { private double length; private double breadth; // Constructor public Rectangle(double l, double b){ setLength(l); setBreadth(b); } // Member Function to Set Length public void setLength(double l){ this.length = l; } // Member Function to Set Breadth public void setBreadth(double b){ this.breadth = b; } // Member Function to Get Area public double getArea(){ return this.length * this.breadth; } } ``` #### 创建对象并调用成员函数 为了调用上述定义好的成员函数,需要先创建`Rectangle`的对象。这可以通过使用关键字`new`完成,之后便可以利用这个新建立的对象去调用其所属型的任何公共成员函数了。 ```java // Creating an instance of Rectangle with specific dimensions. Rectangle myRect = new Rectangle(5.0, 3.0); // Calling member functions on the created object 'myRect'. myRect.setLength(7.0); // Setting a different value for length using setter method. double areaValue = myRect.getArea(); // Getting calculated area from getter method. System.out.println("The area of rectangle is: " + areaValue); ``` 这段代码展示了怎样在一个具体的场景下初始化矩形尺寸,修改其中一个属性值并通过获取器获得当前状态下的区域大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值