Java学习日记------面向对象④

Posted gaohy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习日记------面向对象④相关的知识,希望对你有一定的参考价值。

一、体会可变个数的形参

1.格式:对于方法的形参 数据类型 ...形参名

2.可变形参的方法与同名的方法构成重载

3.可变个数的形参在调用时个数从0开始到无穷多个都可以。

4.使用可变个数的形参与方法的形参使用使用数组是一致的。

5.若一个方法中有可变个数的形参,那么一定要声明在方法形参的最后。

package day04;

public class TestArgs {
public static void main(String[] args) {
    TestArgs c=new TestArgs();
    c.Print("Hello");
    c.Print("Hello"+"world");
    c.Print(5, "你好方法重载!");
}
public void Print(String ... arr) {
    for(int i=0;i<arr.length;i++) {
        System.out.println(arr[i]);
    }
}
public void Print(int j,String ...arrr) {
    System.out.println(j);
    for(int i=0;i<arrr.length;i++) {
        System.out.println(arrr[i]);
    }
}
}

二、方法的参数传递

java中的参数传递机制:值传递机制
* 1)形参是基本数据类型的

package day04;
/*
 * java中的参数传递机制:值传递机制
 * 1)形参是基本数据类型的,将实参的值传递给形参
 * 2)形参是引用数据类型的
 */
public class TestArgsTransfer {
    public static void main(String[] args) {
        TestArgsTransfer tt=new TestArgsTransfer();
        
        
        int i=10;
        int j=5;
        System.out.println("i:"+i+"   j:"+j);
        
        //交换变量的值
        int temp=i;
        i=j;
        j=temp;
        System.out.println("i:"+i+"   j:"+j);
        
        tt.swap(i, j);//i:5  j:10   没有交换
        //将i的值传递给了M,将j的值传递给了N.操作仅仅是在tt.swap()内,而并不影响i和j.
        System.out.println("i:"+i+"   j:"+j);
}
    public void swap(int M,int N) {
        int temp=M;
        M=N;
        N=temp;
        System.out.println("M:"+M+"   N:"+N);
    }
}

 


* 2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的实体对象的首地址)传递给形参的引用变量。

package day04;
/*
 * 对于引用数据类型的值传递
 */
public class TestArgsTransfer1 {
    public static void main(String[] args) {
        TestArgsTransfer1 dd=new TestArgsTransfer1();
        DataSwap gg=new DataSwap();
        System.out.println("gg.i:"+gg.i+"     gg.j:"+gg.j     );
        dd.swap(gg);
        System.out.println("gg.i:"+gg.i+"     gg.j:"+gg.j     );
    }
    public void swap(DataSwap tt) {
        int temp=tt.i;
        tt.i=tt.j;
        tt.j=temp;
    }
}
class DataSwap {
    int i=10;
    int j=5;
}

 



以上是关于Java学习日记------面向对象④的主要内容,如果未能解决你的问题,请参考以下文章

Java学习日记------面向对象②

Java学习日记------面向对象③

Java学习日记 week3 面向对象2:封装,继承,多态

2019-05-15 Java学习日记之面向对象_构造方法&静态static

2019-05-17 Java学习日记之面向对象_多态&抽象类&接口

Mysql学习日记-07python面向对象编程