把个人其他博客的文章慢慢搬过来,主要是能上传代码附件。
(1)Java中的基本类型比如int,bool等是值传递。
(2)对象类型则类似于C中的指针传递:
2.1当修改参数的指向时不影响函数外部的变量,其仍然指向原来的对象。
2.2但是修改参数指向的对象的成员变量时,此修改作用的对象实际上与函数外部的对象是同一个,修改被保存。
class Test{
public static void testChangeInt(int a) {
System.out.println("Old value:"+a); //Old value:5
a = ++a;
System.out.println("New value before return:"+a); //a:6。只在此函数内为6
}
public static void swap(String a, String b) {
String t;
t = a;
a = b;
b = t;
System.out.println("a New value before return:"+a); //bbbb
System.out.println("b New value before return:"+b); //aaaa。只在此函数内交换了
}
public static void appendWorld(StringBuffer sb) {
System.out.println("sb Old value:"+sb);
sb.append("world."); //改变成员变量
System.out.println("sb New value before return:"+sb); //hello world。
}
public static void main( String[] args ) {
System.out.println("Main func start.");
int ti = 5;
testChangeInt(ti);
System.out.println("New value after return:"+ti); //ti:5。不被函数改变
System.out.println("----------------------------");
String a = new String("aaaaa");
String b = new String("bbbbb");
swap(a,b);
System.out.println("a New value after return:"+a); //aaaa
System.out.println("b New value after return:"+b); //bbbb 变量指向的目标不被函数改变。
System.out.println("----------------------------");
StringBuffer sb = new StringBuffer("Hello ");
appendWorld(sb);
System.out.println("sb New value after return:"+sb.toString()); //Hello world。变量指向的目标没变,但是目标的成员变量被改变了。
System.out.println("----------------------------");
}
}
Java中的“引用”和C++中的引用的对比:
C++代码:
#include <iostream>
using namespace std;
int main(int,char**)
{
int other = 8;
int target = 5;
int& ref = target;
target = other;
cout << ref << endl;
}
输出:8. 就是当引用的目标改变了后,引用也跟着改变,所以把ref当做target的别名更容易理解,即ref就是target。
Java代码:
class Ref {
public static void main(String[] args) {
int other = 8;
int target = 5;
int ref = target;
target = other;
System.out.println("ref="+ref);
}
}
输出ref=5。即ref和target是独立的。ref指向的目标不受target的影响。
分享到:
相关推荐
内容概要: 本文详细介绍了Java中的参数传递概念。...建议通过编写简单的Java程序,并使用不同的参数传递方式来验证理论和加深理解。 如有疑问,可以参考Java官方文档或搜索相关资料,进一步扩展学习。
内容概要: 本文进一步介绍了Java中的参数传递概念。...建议通过编写简单的Java程序,并使用不同的参数传递方式来验证理论和加深理解。 如有疑问,可以参考Java官方文档或搜索相关资料,进一步扩展学习。
这时,就需要对用户传递过来的字符串参数进行校验。 本案例我们介绍使用Java代码的正则表达式来验证手机号码其是否合法。 具体编写步骤: 1、封装一个工具类 2、验证手机号码的代码方法编写 3、如果验证通过,对该...
主要介绍了java调用python脚本传递参数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java的参数传递;自定义形状类;类的加载顺序;方法和变量在继承时的覆盖和隐藏;排序类; 3数字 数字类;格式化数字;转换数字进制;生成随机数; 4数组和集合 使用Arrays类;动态调整数组长度;java为数据结构中的...
1、azkaban介绍、三种(solo-server、two-server和multiple-executor)部署方式及验证 网址:https://blog.csdn.net/chenwewi520feng/article/details/130728956 介绍阿兹卡班的主要功能、应用场景以及三种部署方式...
对WebService的调用方,添加头部验证信息
基于spring框架,数据交互是依据URLConnection进行数据传递的,参数在传递的过程使用RAS进行数据加密和MD5加密。
3.6 函数的参数传递 3.7 Static关键字 3.8 内部类 3.9 使用Java的文档注释 第4章 面向对象(下) 4.1 类的继承 4.2 抽象类与接口 4.3 对象的多态性 4.4 异常 4.5 包 4.6 访问控制 4.7 使用jar文件 第5章 多线程 5.1 ...
1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑) 2.简单介绍您所了解的MVC。 3.简单介绍所了解的XML。 4.文档和编码规范 5.Java中的分页、效率考虑。 6.简单介绍您所...
B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会产生一个新的FormBean实例 D 动态FormBean不能进行验证操作 答案:A 8.以下哪些不是...
3 Java的参数传递 2. 4 自定义形状类 2. 5 类的加载顺序 2. 6 方法和变量在继承时的覆盖与隐藏 2. 7 排序类 2. 8 Singleton单例模式 2. 9 Factory工厂模式 2. 10 Adapter适配器模式 ...
实例002 输出控制台传递的参数 2 实例003 输出由“*”组成的三角形 3 实例004 输出符号表情 5 第2章 Eclipse开发工具 6 实例005 下载并运行Eclipse工具 7 实例006 为Eclipse安装中文包 8 实例007 使用Eclipse注释...
5.6.8 方法参数及其传递问题144 5.6.9 理解main方法语法及命令行参数147 5.6.1 0递归算法147 5.7 this关键字148 5.8 JavaBean149 5.9 包150 5.9.1 为什么需要包?150 5.9.2 如何创建包151 5.9.3 编译并生成包:151 ...
7.13.5 通过系统剪贴板传递Java对象 7.13.6 使用本地剪贴板来传递对象引用 7.14 拖放操作 7.14.1 Swing对数据传递的支持 7.14.2 拖曳源 7.14.3 放置目标 7.15 平台集成 7.15.1 闪屏 7.15.2 启动桌面应用程序 7.15.3 ...
10. 2 服务器端包含的参数传递 10. 3 服务器端包含的实例 第11章 Applet和Servlet通信 11. 1 Applet和Servlet通信概述 11. 2 Applet和Servlet的网络通信 11. 2. 1 初识Applet和Servlet网络通信 11. 2. 2 Applet和...
在验证步骤中,用户提供的密码和来自先前步骤的HMAC会传递到OTP引擎进行验证。 错误的密码会导致HMAC不匹配,因此被视为无效。 使用指南 生成一次性密码的步骤 1.创建一个OTPEngine实例,传入一个秘密密钥 ...
功能:点击对应的菜单栏就会弹出对应的对话框,并传递需要的参数。 <4>FrChange.java 该文件是修改用户密码界面的封装类,定义并设置了更改密码界面相关组件及显示效 果,还定义了确定、取消按钮的事件监听。功能:...
调试和验证: 支付宝沙箱是一个优秀的调试和验证工具,开发人员可以在其中逐步调试代码,检查参数传递、签名验证、回调通知等是否正确。这有助于及早发现并解决潜在的问题。 文档和教程: 支付宝沙箱提供了详细的...