`
fantaxy025025
  • 浏览: 1309718 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Java的final变量一例

阅读更多

package com.june.study.final_test;

/**
 * final的--成员--变量的限制:
 * 1. 必须被显式初始化,默认值也不管用
 * 2. 只要在用之前初始化完毕就行,(1)定义时就初始化,(2)在块中初始化,(3)在构造器中初始化
 * 3. 初始化有且只有一次,上面的(1)(2)(3)不能重复初始化
 *
 * final的--局部--变量限制:
 * 1. 如果不被用到,可以不初始化,不报错;否则同上
 *
 * @author lijg fantaxy025025@126.com 
 * @date Feb 25, 2010 12:45:54 PM
 * @version V3.0
 */
public class FinalTest {

    /**
     * 这个块放在变量定义前也不报错
     */
    {
        i = 1;
        s = "I am s";
        //i3 = 33;//compile exception
        i5 = 55;
    }
    final int i;
    final int i2;
    final int i3 =3;
    //final int i4;//compile exception, must be initialized, the default value does not work here!
   
    final String s;
    final String s2;
    final String s3 = "I am s3";
    //final String s4;//compile exception must be initialized
   
    int i5;
    String s5;
    /**
     * 这个块证明可以对普通成员变量重复赋值
     */
    {
        i5 = 555;
        s5 = "I am s5";
    }
   
    public FinalTest(){
        i2 = 2;
        s2 = "I am s2";
        //s3 = "I am s33";//compile exception
    }
   
    public int sum(final int x, int y){
        //x++;//compile exception
        //x = x + y;//compile exception
        y++;
        y = y + x;
       
        final int z;//no compile exception!如果这个变量不被用到,那么不报错!
        final int m;
        m = 1;
        //m = 2;//compile exception duplicate init here
        y = m + 1;
       
        return x + y;
    }
   
    public static void main(String[] args) {
        FinalTest o = new FinalTest();

    }

}

分享到:
评论

相关推荐

    java成员变量覆盖问题

    成员变量的覆盖(有时会被误认为是“重写”)是理解Java继承机制的关键之一。本文将详细解释成员变量覆盖的基本概念,并通过示例代码来展示这一现象。 #### 成员变量覆盖的基本概念 成员变量覆盖是指在子类中声明...

    Java实用程序设计100例(第一章)

    "Java实用程序设计100例(第一章)"着重介绍了基础且实用的Java编程技巧和概念,为初学者提供了丰富的学习资源。本章节可能涵盖了面向对象编程基础、数据结构、控制流、异常处理、类与对象的创建等核心主题。 1. **...

    java实用编程100例2

    在"Java实用编程100例2"这个资源中,我们聚焦于Java编程语言的初级应用,通过一系列的实例帮助初学者快速上手并掌握Java编程基础。这些实例覆盖了从基本语法到常见问题解决的各种场景,是学习和提升Java编程技能的...

    Java实效编程百例

    "Java实效编程百例"很可能是一个包含了一系列实用的Java编程示例的资源集合,旨在帮助初学者和有经验的开发者提升编程技能,解决实际问题。 在Java编程中,有若干关键知识点值得深入探讨: 1. **基础语法**:包括...

    Java基础练习代码入门题训练

    final变量的值不能被改变,适合用于定义常量。 自动类型转换 Java支持自动类型转换。在例2-5中,展示了自动类型转换的实例,包括char到int、byte到float、int到long等。自动类型转换可以简化代码,但需要注意可能...

    java源码1000例java源码1000例

    "Java源码1000例"是一个丰富的资源集合,包含了大量的Java编程示例,旨在帮助开发者深入理解和掌握Java语言的各种特性和应用场景。 在Java编程中,核心知识点包括: 1. **基础语法**:如变量定义、数据类型(基本...

    Java对象与内存控制

    - 如果在定义时设置了初始值并且该值可以在编译时确定,则这种final变量类似于宏替换,编译器会直接替换所有的引用为该值。 - **内部类与final**: - 在任何内部类中访问的局部变量都必须使用`final`修饰。 综上...

    java精典编程100例 10

    接下来,我们将详细解析与“Java经典编程100例”中提到的接口相关的知识点,包括接口的基本概念、如何定义和实现接口、接口在实际编程中的应用场景以及接口与抽象类的区别等内容。 ### 接口的基本概念 在Java中,...

    java 变量 关键字

    Java 变量关键字是 Java 编译器中具有特殊含义的词语,它们用于表示一种数据类型或者表示程序的结构等。关键字不能用作变量名、方法名、类名、包名。 一、关键字概述 ---------------- Java 关键字是一组特殊的...

    java代码-例 2-1 定义并输出常量和变量

    本示例“例 2-1”旨在演示如何在Java程序中定义和输出常量与变量。常量是不可变的值,一旦被定义就不能改变;而变量则可以储存可变的数据。 首先,我们来详细了解常量。在Java中,常量通常通过关键字`final`来定义...

    java代码-例2-1 定义并输出常量和变量

    在Java中,我们可以使用关键字`final`来声明一个常量。例如: ```java public class Main { public static final int PI = 3.14; // 声明一个名为PI的浮点型常量 } ``` 在这个例子中,`PI`是一个常量,它的值是...

    Java中static变量作用和用法详解

    Java中的`static`关键字在编程中扮演着至关重要的角色,它是Java类定义的一部分,用于修饰类的成员变量、成员方法以及代码块。下面我们将详细探讨`static`变量、`static`方法以及`static`代码块的作用和用法。 1. *...

    java编程百例

    Java编程百例是一份丰富的资源,旨在帮助初学者和进阶者深入理解并熟练掌握Java编程语言。这个压缩包包含了100个精心设计的Java编程示例,每个实例都涵盖了不同的主题,从基础语法到高级特性,为学习者提供了一个...

    Java基础教程之final关键字浅析

    如果final变量在编译时其值就能确定(例如,直接初始化或静态常量的计算),编译器可能会在编译期间进行字面量替换,提高代码执行效率。如下例所示: ```java final String str2 = "helloWorld"; String str4 = str...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    6.2.1 在类中给每个变量一个初始值 147 6.2.2 定义自己的引用 147 6.2.3 使用点操作符的技巧 148 6.2.4 类的数组 149 6.3 小结:Java其实是个类和对象的世界 152 6.4 习题 153 第7章 Java中的方法——给汽车...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    下例定义了一个 Point 类 ,并且声明了它的两个变量 x、y 坐标 ,同时实现 init()方法 对 x、y 赋初值 。 class Ponit { int x,y; void init(int ix, int iy){ x=ix; y=iy; } } 类中所定义的变量和方法都是类的...

    第05章 面向对象(下) 05 Final关键字

    在Java中,一旦一个变量被声明为`final`,它的值就不能再改变。这使得`final`变量成为一种类似于C/C++中的`const`常量的概念。例如: ```java public class Constants { public static final int PI = 3.14159; //...

    100例常见错误及解决方案.pdf

    这份《100例常见错误及解决方案.pdf》文件中的内容是针对Java编程中常见的问题进行的一个总结,接下来我将详细阐述其中提到的一些Java编程错误及解决方案: 1. 抽象方法的定义问题 - 在Java中,抽象方法不能包含...

    java 2应用编程150例

    Java 2应用编程150例是一份宝贵的资源,涵盖了广泛的Java编程实践,旨在帮助开发者提升技能,无论是初学者还是有经验的程序员都能从中获益。这个压缩包包含了一系列精心设计的实例,覆盖了Java开发的多个核心领域。...

Global site tag (gtag.js) - Google Analytics