码迷,mamicode.com
首页 > 其他好文 > 详细

final小结

时间:2018-01-03 11:39:54      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:stat   hello   value   基本   sha   rgs   .sh   int()   ack   

package com.shang.learning;

public class TestFinal {
public static void main(String[] args) {
// MyClass mc = new MyClass();
// StringBuffer sb = new StringBuffer("hello");
// mc.changeValues(sb);
// System.out.println(sb);

MyClassInt mci = new MyClassInt();
int i = 0;
mci.changeValues(i);
System.out.println(i);
}
}
class MyClass{
void changeValues(StringBuffer buffer){
buffer.append("world");
StringBuffer sb = buffer;
}
}

class MyClassInt{
void changeValues(int a){
a++;
}
}

final修饰方法不允许值修改,是有问题的。

基本类型,值传递,把值传输,所以在方法里不管怎么修改外部的值是不会变得

引用类型,值传递,传递的是引用的值,所以内部的修改,会引起外部的变化

 

final小结

标签:stat   hello   value   基本   sha   rgs   .sh   int()   ack   

原文地址:https://www.cnblogs.com/taz372436/p/8182087.html

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