`
yuwenlin2008
  • 浏览: 126552 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中的final关键字

阅读更多

我们都知道Java中final关键字的用法:

  1. 被fiinal修饰的类不能被继承。
  2. 被final修饰的方法不能被重写。
  3. 被final修饰的变量不能被修改。

        然而,被final修饰的变量不能被修改,这个怎么理解呢,是变量的值不能被修改,还是引用不能被修改呢,引用的对象可以被修改吗,我们来看代码:

package com.yuwl.jdk;
/**
 * 测试内容:final修饰变量
 * @author Yuwl
 * 2018-3-18
 */
public class FinalTest {

	private final int one = 1;
	private final Value two = new Value(2);
	private final int[] array = new int[]{1,2,3,4};
	
	public static void main(String[] args) {
		FinalTest ft = new FinalTest();
		//ft.one = 2;	//被final修饰的变量值不能更改,编译报错
		
		Value v3 = new Value(3);	
		//ft.two = v3;	//被final修饰的引用不能更改,编译报错
		
		int n = ft.two.setValue(3);	//被final修饰的引用不能更改,但引用的对象内容可以修改
		
		int[] array2 = new int[]{1,2,3,4,5};
		//array = array2;	//被final修饰的数组引用不能更改,编译报错
		
		ft.array[1] = 5;	//被final修饰的数组引用不能更改,但引用的数组内容可以修改
	}

}

class Value {
	
	private int i;
	
	public Value(int i) {
		this.i = i;
	}
	
	public int setValue(int num) {
		this.i = num;
		return this.i;
	}
}

 通过以上代码测试,可以总结:被final修饰的变量值,引用不能修改,但引用的对象可以被修改。

0
0
分享到:
评论

相关推荐

    Java中final关键字详解

     在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。  1.修饰类  当用final修饰一个类时,表明这个类不能被继承。也就是说,...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    1. **final关键字** - `final`关键字用于确保变量的值一旦被赋值后就不能改变,或者类和方法不能被进一步扩展。 - 当`final`修饰类时,该类不能被继承,如`final class MyClass {}`,这意味着MyClass不能作为其他...

    java中final关键字和static关键字详细用法

    Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...

    Java中final关键字的使用与注意总结

    Java中final关键字的使用与注意总结 Java中final关键字的使用与注意总结主要给大家介绍了关于Java中final关键字的相关资料,对大家的学习或者使用Java具有一定的参考学习价值。下面我们将详细介绍final关键字的...

    Java中final关键字详解及实例

    Java中final关键字详解及实例 在Java编程语言中,final关键字扮演着非常重要的角色,它可以用来声明成员变量、方法、类以及本地变量。final关键字的主要作用是确保变量、方法或类不可以被修改或继承。 final变量 ...

    Java零基础-final关键字.md

    本文主要介绍了Java中final关键字的概念及其在实际编程中的应用。读者将能够理解final关键字的基本定义、用途及作用范围,并且掌握如何在不同的编程场景中合理使用它。此外,文章还探讨了final关键字在构造方法、类...

    举例讲解Java中final关键字的用法

    Java中的`final`关键字是一个非常重要的概念,它用于表示不可变性或终结状态。下面我们将详细探讨`final`关键字在修饰变量、方法和类时的不同用法。 1. **final变量** - 常量定义:`final`变量一旦被初始化后,其...

    深入理解Java中的final关键字_动力节点Java学院整理

    Java 中的 `final` 关键字是一个至关重要的概念,它被用来声明类、方法和变量,以确保它们在程序执行过程中不可更改。深入理解 `final` 关键字可以帮助开发者写出更加安全、高效的代码。 首先,`final` 关键字可以...

    Java final关键字

    在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来声明一个变量、方法或类为不可变的。在这个学习demo中,我们将深入理解`final`关键字的各种用法及其背后的原理。 首先,`final`关键字用于变量...

    Java中final关键字的用法总结

    Java中的final关键字是一个非常重要的概念,它用于定义不可变性,确保对象或代码段的不可修改性。在Java中,final可以用来修饰类、方法、变量和参数,以实现特定的编程需求。以下是对final关键字在各个场景下用法的...

    22.final关键字.zip

    22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22.final关键字.zip22...

    java中final关键字使用示例详解

    4. **final关键字的好处** - 提高性能:JVM可以对`final`变量进行优化,因为它们的值是不可变的,这有助于提升程序执行速度。 - 多线程安全:`final`变量在多线程环境中可以直接共享,因为它们的值不会改变,从而...

    Java中的final关键字详解及实例

    Java中的final关键字 1、修饰类的成员变量 这是final的主要用途之一,和C/C++的const,即该成员被修饰为常量,意味着不可修改。   上面的代码对age进行初始化后就不可再次赋值,否则编译时会报类似上图的错误。 ...

    Java编程中static和final关键字的陷阱.pdf

    Java编程中static和final关键字的陷阱.pdf Java编程中static和final关键字的陷阱是Java开发中两个重要的关键字,但是它们的使用也存在一些陷阱,需要开发者注意掌握。 static关键字可以用于修饰属性、方法和类。...

    深入解析Java编程中final关键字的作用

    在Java编程中,final关键字扮演着至关重要的角色,它用于声明不可变的变量、方法以及类,以确保代码的稳定性和安全性。以下是关于final关键字的深入解析: 1. **final类**: 当一个类被声明为final时,这意味着这...

    java中的关键字大全

    ### Java中的关键字大全 在Java编程语言中,关键字是一组预定义的词汇,它们具有特殊的含义和用途。理解和掌握这些关键字对于编写有效的Java程序至关重要。本文将详细介绍Java中的一些核心关键字,并提供相应的解释...

Global site tag (gtag.js) - Google Analytics