知识大全 谈谈各种JAVA中的调用程序方式
Posted 知
篇首语:第一个青春是上帝给的;第二个的青春是靠自己努力的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 谈谈各种JAVA中的调用程序方式相关的知识,希望对你有一定的参考价值。
谈谈各种JAVA中的调用程序方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
很多书籍都说Java支持传引用调用的方式 类似于C++中的Person &a引用调用 而近来编程遇到一系列问题让我对此产生了怀疑 于是将这些方法一一列出 我们来一起看看JAVA中的调用方式 看下面的程序 class Person private String name;//姓名 private String sex;//性别 public Person(String x String y) this name = x; this sex = y; public void setStatus(String x String y) this name = x; this sex = y; public String toString() return name + sex; // -----交换普通对象----- public static void changeref(Person tmpx Person tmpy) //交换tmpx和tmpy对象 Person swapref = tmpx; tmpx = tmpy; tmpy = swapref; // System out println( 在方法中交换的结果: refa = + tmpx toString()); // System out println( 在方法中交换的结果: refb = + tmpy toString()); // ----- 交换数组对象----- public static void changeArrayRef(Person[] x Person[] y) //交换数组对象 Person swaparrayref = x[x length ]; x[x length ] =y[x length ]; y[x length ] = swaparrayref; //-----交换数组----- public static void changeArray(int[] x int[] y) int[] tmp =x; x = y; y = tmp; public class Demo public static void main(String[] args) //-------建立并构造两个对象--------- Person refa = new Person( 张三 男 ); Person refb = new Person( 李四 男 ); //交换refa对象和refb对象 Person changeref(refa refb); //从交换结果中看出 实际对象并未交换 System out println( 在主函数中交换的结果 refa = + refa toString()); System out println( 在主函数中交换的结果 refb = + refb toString()); //-------建立两个对象数组---------- Person[] arraya = new Person[ ]; Person[] arrayb = new Person[ ]; //分别构造数组对象 arraya[ ] = new Person( 王五 男 ); arrayb[ ] = new Person( 赵六 男 ); /*数组对象为null时 不能设置其值 必须先构造它(即调用构造函数) 再用其它方法设置其值 */ System out println( \\n + 数组对象交换前的结果 arraya = + arraya[ ] toString()); System out println( 数组对象交换前的结果 arrayb = + arrayb[ ] toString()); //交换这两个数组对象 Person changeArrayRef(arraya arrayb); System out println( -交换后的结果 arraya = + arraya[ ] toString()); System out println( -交换后的结果 arrayb = + arrayb[ ] toString()); //-------建立两个普通数组--------- int[] a = new int[ ]; int[] b = new int[ ]; //给数组个元素赋值 for(int i = ;i a[i] = i; b[i] = i+ ; System out println( \\n + 数组交换前 inta[ ] = + a[ ]); System out println( 数组交换前 intb[ ] = + b[ ]); //交换数组 Person changeArray(a b); System out println( -交换后的结果 inta[ ] = + a[ ]); System out println( -交换后的结果 intb[ ] = + b[ ]); 从程序执行的结果来看 在交换两个对象时 仅仅改变了对象句柄的指向 而没有改变对象内容 因此方法参数为对象时 并不交换实际内容 而是交换了拷贝内容 数组对象有点奇怪 在形参中交换了 实参也反应出来 数组和普通数据类型一样 形参的改变 不会反应到实参中来 对象也一样 形参改变了 实参一样不会反应出来 小结一下 方法可以修改对象参数的状态 方法不能让对象参数指向新的对象 方法不能修改基本类型(int byte等)的参数 因此要想交换对象 在方法体中是不现实的 用Clone才能完成……未完 待续………… cha138/Article/program/Java/Javascript/201311/25451相关参考
用Java调用doc执行程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今天我突发奇想如果用
在Java程序中调用Matlab函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
在Java里面调用CUI程序的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 问题描述 该
在java里面调用CUI程序的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 问题描述 该
DWR调用客户端Java代码的程序实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! //———
MATLAB的最新版本b中新添了一个产品-MATLABBuilderforJava其实本来Matlab就有Java外部程序接口不过原来的接口只能在m文件中调用Java而无法在Java程序中调用Ma
异常处理允许读者为程序的正常情况单独设计和编写代码并与不正常情况下的处理代码分开 throw语句的作用类似一个方法调用但它并没有去调用一个方法而是调用了catch块 预定义的异常类Except
天气预报调用代码 最近要做一个网站需要用到天气预报本来是想找到API自己写一个自己的天气预报小程序的没有成功只好去找现成的代码调用经过测试我找到了几种现在还可以使用的调用代码由于大部分效果使用的
谈谈Java中的继承与组合 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 继承和组合的概念 在
知识大全 PHP5 在调用 JAVA WebService 时遇到的各种问题解决方法
PHP5在调用JAVAWebService时遇到的各种问题解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一