java第六章 方法及方法重载 课堂笔记、作业
当参数传递为基本数据类型时,参数变化不保留,基本数据类型参数传值
当参数传递为引用数据类型时,参数变化会保留,引用数据类型参数传址
//基本数据类型在别处被重新赋值,则本体不受影响,其值不变
//引用型数据类型在别处被重新赋值,则本体随之改变,其值为改变后的值
使用基本数据类型,相当于将本体复制一份拿到别处用,本体不会受到影响:不会对本体重新赋值
使用引用型数据类型,则是把整个地址拿过去用,当改变其值时,首先这个地址不在指向原来的值,而是重新指向一个新的值;因此当我们再次查看这个地址时,其指向的值就是改变后的那个值
实参和形参的类型必须一致,名字可以一致,也可不一致
//使用带参方法时,1、传的参数类型要与定义的方法参数类型一致
// 2、传的参数个数要与定义的方法参数个数相同
// 3、多个参数时,传的参数顺序要与定于的方法顺序一致
构造方法
如何定义:访问修饰符 构造方法名(){//初始化代码}
作用:对象初始化(系统提供默认无参构造方法)
方法的重载:同名不同参
特点:在一个类中,方法名相同,参数列表不同,与访问修饰符和返回值类型无关
补充:参数列表不同:参数的个数不同或者参数的类型不同
成员变量和局部变量:
成员变量作用域:在整个类的内部
局部变量作用域:在定义它的方法中
成员变量的初始值:系统会给默认初始值
局部变量的初始值:需要我们自己给赋值
在同一个方法中,不能有同名的局部变量
在同一个类中,成员变量可以和局部变量名相同,但是局部变量优先级更高
作业:
1、
package com.jisunqi; /** * Counter.java * @author 陈 *2019.1.15 */ public class Counter { //定义计算器类 public int count(int num1, int num2) { //定义计算器类的带参方法 实现两个整数相加 int sum = num1+num2; return sum; } public double count(double num1,double num2,double num3) { //定义相同名字不同参数的带参方法(方法重载) 实现三个浮点数相加 double sum = num1+num2+num3; return sum; } }
package com.jisunqi; /** * TestCounter * @author 陈 *2019.1.15 */ public class TestCounter { //测试计算器 public static void main(String[] args) { Counter bear = new Counter(); //创建对象 int sum = bear.count(9, 8); //调用第一个方法 使用对象 System.out.println("两个整数和为:"+sum); System.out.println("*********************"); double sum3 = bear.count(1.1, 1.5, 1.7); //调用第二个方法 使用对象 System.out.println("三个浮点数和为:"+sum3); } }
2、答案:发工资啦,快买一个苹果牌子的手机吧!
验证:
package com.lianxi; public class MobilPhone { public String brand; public MobilPhone() { this.brand = "诺基亚"; } public MobilPhone(String bra) { this.brand = bra; } public String buy() { return "没发工资,买一个" +brand+"牌子的手机吧" ; } public String buy(String reason) { return reason+",快来买一个"+brand+"牌子的手机吧!"; } }
package com.lianxi; public class MobilPhoneTest { public static void main(String[] args) { MobilPhone mp = new MobilPhone(); mp.brand = "苹果"; String detail = mp.buy("发工资啦"); System.out.println(detail); } }