Java (final)分析

原创 2016年08月29日 20:48:24

关键字final可用与修饰类,成员变量,成员方法。final的基本意思是”最终的“,即它所修饰的元素不允许再修改。如用final修饰的类(最终类)不能再有子类,不能被继承,用final声明的方法(最终方法)不能在被重写;用final声明的成员变量(常量)被初始化后,不能再被重新赋值或修改。
样例


final class A {
    final double PI=3.1416;
    final double area(double r){return(PI*r*r);}
    }
class FinalTest{
    public static void main(String[] args) {
        A a=new A();
//      a.PI=2.0;错误
        System.out.println("area="+a.area(5.0));
    }
}

分析
类A定义类一个用final修饰的变量和方法,并且类A本身也是final类型的。生成A的子类或在子类中重写方法area()是不允许的,类似的语句,a.PI=2.0对常量进行修改也是错误的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java多线程 -- JUC包源码分析3-- volatile/final语义

-volatile应用1 – 内存可见性 – JMM内存模型 -volatile应用2 – 原子性 -volatile应用3 – 构造函数逸出/DCL问题(Double Checking Lock...

【Java基础提高】深入分析final关键字(一)

Java的关键字final通常是指被它修饰的数据是不能被改变的,不想改变可能出于两种理由:设计或效率。以下是本文主要大纲: final数据的使用final参数的使用final方法的使用final...

Java与C#的中只读关键字区别分析:Java的Final和C#的Const,Readonly

Java里面没有readonly关键字,预留了const的关键字,目前还没有实际用途,在Java中,跟这两个关键字比较接近的是final;C#中,两者都存在并可用. 两者修饰的全局变量或局部变量都不能...
  • ajax000
  • ajax000
  • 2011年04月21日 09:50
  • 1519

Java中的final参数/变量+匿名内部类的字节码分析,以及Java 8中的使用

在Java 8之前一个常识就是如果要在方法中定义一个匿名内部类并使用该方法内的局部变量(包括参数),需要使用final关键字修饰。网上也有很多对这种机制的解释和说明,但是大部分都是一种抽象的认识。如果...

java基础中的final和static

  • 2013年10月04日 09:22
  • 28KB
  • 下载

Java中static、this、super、final用法

  • 2008年04月03日 17:14
  • 59KB
  • 下载

java 匿名类访问外部变量要使用final

1)  从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自...
  • fatshaw
  • fatshaw
  • 2016年02月26日 13:51
  • 1402

Java final关键字

  • 2017年05月13日 23:57
  • 4KB
  • 下载

java中final和static讲解及实例

  • 2012年03月23日 09:42
  • 7KB
  • 下载

Java中的static和final作用

Java中的static作用(静态变量,静态方法,静态代码块) class Person{    static int i; String name; static void go(){   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java (final)分析
举报原因:
原因补充:

(最多只允许输入30个字)