Java SE 自学笔记8 之 final修饰符
来源:互联网 发布:snare for windows 编辑:程序博客网 时间:2024/06/09 21:34
final 修饰符
final 可修饰
-- 变量:成员变量(类变量和实例变量)和局部变量(方法里的局 部变量和代码块的局部变量)
-- 方法
-- 类
【final 修饰变量】
★final修饰成员变量
-- Java 成员变量(Field),默认是可以由系统执行初始化,程序员可以不指定初始值。
1.final修饰实例变量,可在以下3个地方为实例变量指定初始值:定义时指定初始值、初始化块、构造器;
最多只能指定一次初始值,普通方法不允许为final实例变量赋值;
2.final修饰类变量,可以在以下2个地方为类变量指定初始值:定义时指 定初始值、类(静态)初始化块;
最多只能指定一次初始值,普通类方法、普通方法、普通初始化块不能 为final类变量赋值;
★final修饰局部变量
-- Java 的局部变量,默认 必须由程序员类指定初始值
★final修饰的变量,会被执行“宏替换”
-- final修饰的变量,声明时就指定了初始值,而且初始值在编译时就可 以确定,因此可以说这个变量不存在。(所谓“不存在”,就是执行了 “宏替换”--即“查找、替换”);
例如:
class Final
{
public static void main(String[] args)
{
final String s1 = "Hello";
final String s2 = " Java ";
final String s3 = "World!";
final String s4 = s1 + s2 + s3;
//所以以上代码实际上定义了0个变量、1个对象
//这个对象就是 “Hello Java World!”
}
}
所以以上的代码完全可以等于
class Final
{
public static void main(String[] args)
{
System.out.println("Hello Java World!");
}
}
对这个例子,可以用 “Java -c 类名”命令来查看,查看的结果是二者完全一样。
★final方法
-- final修饰的方法不能被重写(Override),其作用在于:禁止父类方法被重写,避免了父类被破坏;
-- 因为private修饰的方法不能被重写,因此虽然final和private可以一起修饰方法,但是实际意义不大;
★final类
-- final 类不能有子类
-- final 修饰类是为了更加安全,由于没有子类,所以final类的方法和
field就可以被更好的保护;
-- 典型的,Java中的Strin、Math和所有包装类都是final类。
- Java SE 自学笔记8 之 final修饰符
- Java笔记之final修饰符
- Java SE学习笔记:抽象思想、包装类、final修饰符、代码块
- Java SE 自学笔记3 之数组
- Java之final修饰符
- 自学java之修饰符
- Java SE 自学笔记1
- 疯狂java笔记:关于final修饰符
- Java学习笔记:final修饰符
- java学习笔记<八>final修饰符
- Java SE 自学笔记2 之流程控制
- Java SE 自学笔记4 之面向对象的类
- Java SE 自学笔记5 之方法和变量
- Java SE 自学笔记6 之面向对象
- Java SE 自学笔记7 之面向对象2
- JAVA编程之static、final修饰符
- Java之最终修饰符:final
- JAVA编程之static、final修饰符
- 均值、中值滤波、孤点检测
- 在linux使用RAR
- BAT
- java.sql.Date java.util.Date String 之间的转换
- web用户控件实现注册功能+前台验证
- Java SE 自学笔记8 之 final修饰符
- BI项目中常见问题---模型设计
- 1.窗体与界面设计
- MFC中两种定时器
- VS使用
- 水题不水之字典树(Tire tree)
- ubuntu13.04 有线网卡驱动安装 无法上网 网络配置
- 1.窗体与界面设计
- 如何在杭电第一轮选课中查看跨专业课程时间