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);
    }
}

 

posted @ 2019-01-15 18:26  陈小志  阅读(262)  评论(0编辑  收藏  举报