社区
Java SE
帖子详情
java 传参的时候,有常量引用吗
ningweidong
2011-05-07 11:00:40
c++里可以成const &st,防止引用参数被修改,
在java里应该怎么写?
...全文
482
14
打赏
收藏
java 传参的时候,有常量引用吗
c++里可以成const &st,防止引用参数被修改, 在java里应该怎么写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
涅槃
2011-05-08
打赏
举报
回复
java 里面好像都是传值的
ZangXT
2011-05-08
打赏
举报
回复
写一个子类,涉及到修改属性值的方法空实现或者抛异常
ningweidong
2011-05-08
打赏
举报
回复
你好。我觉得常量指针的功能很重要啊,java没办法实现吗?
[Quote=引用 10 楼 inhibitory 的回复:]
引用 7 楼 ningweidong 的回复:
引用 6 楼 inhibitory 的回复:
c++里可以成const &st,防止引用参数被修改
不止是防止引用被修,还有几个更重要的原因
1. 速度
2. 可以传递临时参数 (非常重要,尤其是在Qt中到处都是)
3. 只有非const方法能被调用
4. 不能修对象的属性值
你好。
public s……
[/Quote]
Inhibitory
2011-05-08
打赏
举报
回复
[Quote=引用 7 楼 ningweidong 的回复:]
引用 6 楼 inhibitory 的回复:
c++里可以成const &st,防止引用参数被修改
不止是防止引用被修,还有几个更重要的原因
1. 速度
2. 可以传递临时参数 (非常重要,尤其是在Qt中到处都是)
3. 只有非const方法能被调用
4. 不能修对象的属性值
你好。
public static void change(final ning n……
[/Quote]
Java里做不到
tianyu945473925
2011-05-08
打赏
举报
回复
参数前面加上final修饰符就OK
ningweidong
2011-05-08
打赏
举报
回复
你好,我想只读取参数的值,而不准修改它的属性值,应该怎么做?
[Quote=引用 5 楼 ganhaitian 的回复:]
引用 4 楼 ningweidong 的回复:
引用 2 楼 healer_kx 的回复:
Java 传递参数,如果是int String,不加final也没事。
你好。
public static void change(final ning n)
{
n.i = 1;
}
我声明了final还是可以改变参数。
这种语境下的常量是指,ningr的引用n不可以再指……
[/Quote]
ningweidong
2011-05-08
打赏
举报
回复
[Quote=引用 6 楼 inhibitory 的回复:]
c++里可以成const &st,防止引用参数被修改
不止是防止引用被修,还有几个更重要的原因
1. 速度
2. 可以传递临时参数 (非常重要,尤其是在Qt中到处都是)
3. 只有非const方法能被调用
4. 不能修对象的属性值
你好。
public static void change(final ning n) { n.i = 1; }
我声明了final还是可以……
[/Quote]
你好。如果我想实现常量指针的功能,就是不请允许修改引用的属性值,应该怎么做?
Inhibitory
2011-05-08
打赏
举报
回复
c++里可以成const &st,防止引用参数被修改
不止是防止引用被修,还有几个更重要的原因
1. 速度
2. 可以传递临时参数 (非常重要,尤其是在Qt中到处都是)
3. 只有非const方法能被调用
4. 不能修对象的属性值
你好。
public static void change(final ning n) { n.i = 1; }
我声明了final还是可以改变参数。
Java里只是引用本身不能被修,但是引用的属性值是可以被修改的。相当于C++的指针常量,而非常量指针,即是int* const pointer
ganhaitian
2011-05-08
打赏
举报
回复
[Quote=引用 4 楼 ningweidong 的回复:]
引用 2 楼 healer_kx 的回复:
Java 传递参数,如果是int String,不加final也没事。
你好。
public static void change(final ning n)
{
n.i = 1;
}
我声明了final还是可以改变参数。
[/Quote]
这种语境下的常量是指,ningr的引用n不可以再指向其它的实例.但改变n实例内部的属性是没有问题的.
如果你这样写就编不过去啦....
ublic static void change(final ning n)
{
ning s=null;
n=s;
}
ningweidong
2011-05-08
打赏
举报
回复
[Quote=引用 2 楼 healer_kx 的回复:]
Java 传递参数,如果是int String,不加final也没事。
[/Quote]
你好。
public static void change(final ning n)
{
n.i = 1;
}
我声明了final还是可以改变参数。
ningweidong
2011-05-08
打赏
举报
回复
[Quote=引用 1 楼 enzo1986 的回复:]
你是指函数参数为常量吗?如果是,用final
public void test(final int a){
}
[/Quote]
你好。
public static void change(final ning n)
{
n.i = 1;
}
我声明了final还是可以改变参数。
healer_kx
2011-05-07
打赏
举报
回复
Java 传递参数,如果是int String,不加final也没事。
南通胡逗
2011-05-07
打赏
举报
回复
你是指函数参数为常量吗?如果是,用final
public void test(final int a){
}
详解
java
new_详解
JAVA
创建对象 NEW
引用
对象之间的赋值、判相等通过上述的图解,大伙儿应该明白指针变量和该指针变量指向的对象是一个什么关系了吧。还是接着刚才的例子,再来看赋值的问题。对于如下语句:StringBuffer str2 = str;这个赋值语句是啥意思捏?实际上就是把str的地址复制给str2,记住,是地址的复制,StringBuffer对象本身并没有复制。所以两个指针指向的是同一个东东。再搞一张示意图,如下(...
Java
传参
------基本数据类型和
引用
数据类型作为参数的区别(值传递)
Java
使用按值传递(pass - by - value)的方式将实参传递给方法。传递基本数据类型变量 的值与传递数组值有很大的不同。
java
方法的String传值
最近在看
java
的时候发现了个很有意思的事情,在方法
传参
时,String就像是一个异类,其结果更像基本数据类型。 对于方法(函数)的传值我们都知道传的是形参,也就是值传递。 ps. 基本数据的类型的方法
传参
是值传递,没什么可说的,这里就不展开了。 而
Java
中的
引用
类型相当于指针,其值是地址,那么如果我们在函数内修改该地址的变量也就势必会改变函数外的值。 让我们来验证一下: public class Person { public int age; } public class FunTes.
java
中string是什么传递_
Java
中String对象的传递解析
话不多说了,直接上代码。publicclassDemo{//staticStringstr="helloworld!";//staticStringstr=newString("helloworld!");//staticchar[]ch=newchar[]{'A','B','C'};publicstaticvoidtest(Stringstr,cha...
interface(接口)的使用
与抽象类的异同 抽象类:模型上作规范;接口:功能上作规范 相同点: 都可以生成class文件 都不能具体化(不能实例化对象) 都可以调用Object的所有方法(继承性-Object是老祖宗) 都可以作为
引用
类型(多态应用) 不同点: 接口中定义的属性是公开的静态
常量
默认加:public static final 接口中定义的方法为公开的抽象方法 默认加:public abstract 接口中不能有构造方法,没有静态代码块和动态代码块
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章