Java学习笔记(十二)

    给定代码
int max(int ia, int ib){
	return  Math.max(ia,ib);
}
int a = 5;
int b = 6
int res = max(a,b)
    方法传参过程 为main方法中变量a、b、res分配空间并初始化 调用max方法,为max方法的形参变量ia、ib分配空间 将实参变量的数值复制到形参变量的内存空间中 max方法运行完毕后返回,形参变量空间释放 main方法中的res变量得到max方法的返回值 main方法结束后释放相关变量的内存空间 实参与形参的关系 基本数据类型的变量作为方法的参数传递时,形参变量数值的改变通常不会影响实参变量的数值,因为两个变量由各自独立的内存空间 引用数据类型的变量作为方法的参数传递时,形参变量指向内容的改变会影响实参变量指向内容的数值,因为两个变量指向同一块内存空间 当引用数据类型的变量作为方法的参数传递时,若形参变量改变指向后再更改指定的内容,不会影响到实参指向内容的改变,因为两个变量指向不同的内存空间 基本数据类型传的是值,引用数据类型传的是地址 JVM会为每一个方法的调用在栈中分配一个对应的空间,这个空间被称为方法的栈帧。一个栈帧对应一个正在调用的方法,栈帧存储了该方法的参数、局部变量等数据 方法调用完成后,清除对应的栈帧 构造方法 class 类名{ 类名(形参列表){ 构造方法体; } } 构造方法没有返回值 当一个类中没有定义任何构造方法时,编译器会自动添加一个无参空构造方法,叫做默认/缺省构造方法 若类中出现了构造方法,就不再提供默认构造方法 使用new关键字创建对象时会自动调用构造方法实现成员变量初始化工作 重载:方法名相同,参数列表不同 参数个数不同、参数类型不同、参数顺序不同 与返回值类型无关,但最好相同 判断方法能否构成重载的核心:调用方法时能否加以区分 实际意义:调用者记住一个方法名就可以调用各种不同的版本,从而实现不同的功能 this的基本概念 若在构造方法中出现this,则代表当前正在构造的对象 若在成员方法中出现this,则代表当前正在调用的对象 在方法中访问成员变量时,编译器会加上this.的前缀 使用方式 当局部变量名与成员变量名相同时,在方法体中会优先使用局部变量,若希望使用成员变量,需要在成员变量前加this.关键字 this关键字除了可以通过this.的方式调用成员变量和成员方法外,还可以作为方法的返回值 在构造方法的第一行可以使用this()的方式来调用本类中的其他构造方法
经验分享 程序员 微信小程序 职场和发展