码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-03-05 00:44:43      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:new   多个   地址   --   空间   i++   world   pack   AC   

一、体会可变个数的形参

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学习日记------面向对象④

标签:new   多个   地址   --   空间   i++   world   pack   AC   

原文地址:https://www.cnblogs.com/Gaohy/p/8506843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!