JavaSE8基础 final 修饰引用类型的局部变量 地址值不能变

os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
代码:

/*
*	final 修饰引用类型的局部变量。
*	引用类型是地址值,地址值不能变!
*/

class Test {
	public int num = 1;
}

class Demo {
	public void test() {
		final Test t = new Test();
		System.out.println(t.num);//可以访问

		t.num = 2;//修改成功,但不报错。因为地址值没有变化。
		System.out.println(t.num);

		//你可以修改成员变量的值,但你要是重新分配地址,那就会报错
		t = new Test();

	}

	public static void main(String[] agrs) {

	}
}

结果:



Java优秀,值得学习。
学习资源:itcast视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
如果您觉得博文有可以改进的地方,留言即可。

时间: 2024-10-11 17:25:29

JavaSE8基础 final 修饰引用类型的局部变量 地址值不能变的相关文章

JavaSE8基础 final 修饰值类型的局部变量 其值不可更改

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: /* * final 修饰值类型的局部变量. */ class Demo { public void test() { final int num = 1; num = 2;//会报错! } public static void main(String[] agrs) { } } 结果: Java优秀,值得学

JavaSE8基础 final修饰类的成员变量,其只可以被访问,不能被修改

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: /* final 修饰类的成员变量. 这个变量可以被访问,但是不能被修改.因为这个变量相当于常量. */ class Son { public final int num = 1; } class Demo { public static void main(String[] agrs) { Son s =

JavaSE8基础 final 修饰类中的成员方法 不能被子类重写

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: /* final 修饰类中的成员方法. 这个方法就不能被子类重写了 */ class Father { public final void show() { } } class Son extends Father{ public void show() { } } class Demo { public s

JavaSE8基础 final 最终类,就不能作为其他类的父类(基类)

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: /* final 修饰类. 这个类是最终类,就不能作为其他类的父类(基类)了 */ final class Father { } class Son extends Father{ } class Demo { public static void main(String[] agrs) { } } 结果:

JavaSE8基础 String indexOf 正向 从指定索引值开始查找 字符在字符串中第一次出现的位置

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Demo4 { public static void main(String[] args) { // 索引值 0123 String str = "abc01234543210cba"; char ch = '0'; Syst

JavaSE8基础 HashMap remove 根据键来删除键值对

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) code: package jizuiku0; import java.util.HashMap; /* * @version V17.09 */ public class MapDemo_010 { public static void main(String[] args) { HashMap<Integer, String>

JavaSE8基础 HashMap remove 删除指定的键值对

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) code: package jizuiku0; import java.util.HashMap; /* * @version V17.09 */ public class MapDemo_011 { public static void main(String[] args) { HashMap<Integer, String>

JavaSE8基础 HashMap&lt;Integer,String&gt; entrySet遍历 键值对的集合

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) code: package jizuiku0; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; /* * @version V17.09 */ public class MapDemo_1111 { public static

JavaSE8基础 HashMap put 添加键与新值对并返回旧的值

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) code: package jizuiku0; import java.util.HashMap; /* * @version V17.09 */ public class MapDemo_000 { public static void main(String[] args) { HashMap<Integer, String>