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基础提高】深入分析final关键字(一)

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

JAVA方法中的参数用final来修饰的原因

JAVA方法中的参数用final来修饰的原因 很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,有的人认为是调用语句的地方...
  • tavor
  • tavor
  • 2007年12月06日 11:13
  • 39109

Java中final用法与详解

Java中final用法与详解
  • u014276600
  • u014276600
  • 2016年08月07日 19:02
  • 906

Java关键字之final详解

在我们编写Java程序时总会根据需求将变量、方法、类设置成static(静态)或final(最终),熟练掌握final用法是必须的,现在我们就来详细了解final关键字! 一、final概述 概念:由...
  • zhangliangzi
  • zhangliangzi
  • 2016年01月29日 10:18
  • 911

Java 创建不可变对象-final关键字的使用总结

之前一直对final这个关键的功能,很模糊。在编程中很多次都是使用eclispe自动在变量前加的final关键字,一直对这个好奇,今天找了些资料,对final进行地深入学习。 严格地说final修饰的...
  • u010761376
  • u010761376
  • 2016年01月22日 21:36
  • 1823

Java中的Final关键字,区分基本数据类型与引用类型,值传递与引用传递

Final可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了。对于基本数据类型声明为Final后其值无法再次改变,对于引用类型,可以改变改引用的内容,但是无法...
  • u010180738
  • u010180738
  • 2016年10月20日 23:50
  • 679

Java 反射修改 final 属性值

使用过 Java 反射的大多都知道, 想要修改某个类或对象的私有变量的值的话, 在调用 set 设置新值之前执行一下 setAccessible(true) 即可。这样利用的 Java 的反射就能绕过...
  • ab6326795
  • ab6326795
  • 2016年02月23日 21:55
  • 1885

Java中final修饰对象引用

http://ogres.iteye.com/blog/431577
  • u010931123
  • u010931123
  • 2016年09月19日 16:24
  • 1991

Java final变量的生命周期和内存回收

java的final变量的内存释放。
  • m0_37589878
  • m0_37589878
  • 2017年07月07日 20:10
  • 823

java中final与volatile-线程安全问题

在线程安全问题中final主要体现在安全发布问题上,在这里先讲一下什么事安全发布,在《java并发编程实践》一书中有讲,不过看起来挺难懂的…. public class Holder { ...
  • THE___BEST
  • THE___BEST
  • 2017年09月17日 09:07
  • 427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java (final)分析
举报原因:
原因补充:

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