关键字 final & private
2015-06-25 16:17
204 查看
final可以修饰类,方法,变量。修饰后会产出的“特殊效果”:
①类不可以被继承。
②方法不可以被覆盖。
③变量是一个常量。(据说在安卓经常碰到哦)只能被赋值一次。
when
什么时候将变量修饰成final呢?
通常在程序中使用一些不会变化的数据.也就是常见的一些常量值.比如1.23,这个数直接使用是可以的,
但并不利于阅读,所以一般情况下,都会被该数据起个容易阅读的名称
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写例如:double PI = 3.14;
如果由多个单词组成每个单词间用下划线连接
内部类只能访问被final修饰的局部变量。
关于 final private 区别:
①,final修饰的类可以访问
private不可以修饰外部类,但可以修饰内部类,讲内部类的时候会演示(其实把外部类私有化是没有意义的)
②,final修饰的方法不可以被子类重写
private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的
③,final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改
private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值
①类不可以被继承。
②方法不可以被覆盖。
③变量是一个常量。(据说在安卓经常碰到哦)只能被赋值一次。
when
什么时候将变量修饰成final呢?
通常在程序中使用一些不会变化的数据.也就是常见的一些常量值.比如1.23,这个数直接使用是可以的,
但并不利于阅读,所以一般情况下,都会被该数据起个容易阅读的名称
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写例如:double PI = 3.14;
如果由多个单词组成每个单词间用下划线连接
内部类只能访问被final修饰的局部变量。
关于 final private 区别:
①,final修饰的类可以访问
private不可以修饰外部类,但可以修饰内部类,讲内部类的时候会演示(其实把外部类私有化是没有意义的)
②,final修饰的方法不可以被子类重写
private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的
③,final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改
private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值
相关文章推荐
- Hibernate 的学习笔记(温故而知新)— — 不定时更新
- 戴尔今日正式摘牌 市值定格243.3亿美元
- 关于单例设计模式的总结
- 黑马程序员-------java提高 jdk1.5新特性
- 练习题随笔
- 黑马程序员 JAVA-面向对象(一)
- 四大组件之ContentProvider
- 【java】自定义枚举类(不使用enum的新特性)1.5版本前
- 单例设计模式
- 我的新浪的blog地址
- JavaScript中的单例模式
- Java 之 clone 分析
- JAVA设计模式(四)——单例模式
- 十、构造函数和析构函数(四) 拷贝构造函数、默认拷贝构造函数、拷贝构造函数调用几种情况、深拷贝浅拷贝、构造函数和=操作符区别、禁止对象拷贝
- C++构造函数私有化
- 硅谷是时候放下自己的傲慢了
- 构造函数私有化---单例模式
- 黑马程序员--- 学习笔记(第六天)
- 设计一个只能在堆上或栈上实例化的类
- 戴尔私有化的新PC梦