-
Java类中属性赋值的操作
赋值的执行顺序:
声明成员变量的默认初始化 >显式初始化、多个初始化块依次被执行(同级别下按先后顺序执行)> 构造器再对成员进行初始化操作 > 创建的对象通过”对象.属性”或”对象.方法”的方式修改属性值
Java类的结构的内存解析
内存分为4部分:栈、堆、方法区、静态域
栈:对象的引用名,数组的引用名,局部变量(方法的形参,方法内定义的变量,代码块中定义的变量)
堆:new 出来的”东西”(包括类的成员变量)
方法区:(含字符串常量池)
静态域:静态的field
Java的参数传递机制
方法,必须有其所在类或对象调用才有意义。若方法含有参数:
形参:方法声明时的参数
实参:方法调用时实际传给形参的参数值
Java的实参值如何传入方法呢?
Java里方法的参数传递方式只有一种:值传递。
public class Test{
public static void mian(String[] args){
int x = 5;
change1(x);
Integer obj = 5;
change2(obj);
}
public static void change2(Integer obj){
obj = 3 ;
}
public static void change1(int x){
x = 3;
}
}
无论是基本数据类型的参数传递还是引用数据类型的参数传递,都不会影响原来方法内的值。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。