final小结

Posted taz372436

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了final小结相关的知识,希望对你有一定的参考价值。

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小结的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中final修饰符小结

java中final小结

2017 CCPC Final小结 By JSB @ Reconquista

Java学习笔记之二十final关键字在Java继承中的用法小结

模拟赛小结:2018 China Collegiate Programming Contest Final (CCPC-Final 2018)

Java内部类的使用小结 形参为什么要用final