static 和 final 回顾
2016-04-28 22:57
260 查看
一、static
1.被static修饰的属性:
该属性可以被另一个类直接调用(当然也受访问权限的影响),而不用初始化该类,static属性只能是class 的成员,
不能在方法中用static修饰所定义的属性 。
2.被static修饰的方法:
该方法中不能存在非static修饰的属性和非static的方法,原因浅解释就是 避免出现未被初始化的对象或属性,相反,
非static修饰的方法,是可以调用有static修饰的属性或static修饰的方法的, 有一个比较特殊的static方法,就是static块,
static{ }; 该方法会在程序执行是最先调用。
3.被static修饰的内部类(注:主类不能被static修饰):
静态内部类是指在一个类的内部,又定义了一个用static修饰的类。可以用C中的结构体内嵌结构体来理解。首先,用内
部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放
这个类;
4.继承有static修饰的方法和属性的类:
static修饰的方法是不能被重写的,但属性可以被修改,如果两个都存在静态块,会先调用父类,再到子类的静态块。
5.简单的static在内存位置理解:<
4000
/p>
01.栈 02.堆 03.全局区
static就在 全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初
始化的全局变量和未初始化的静态变量在相邻的另一块区域,被static修饰的,拥有固定内存,调用效率高,但是不会自动回收。
二、final
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和
变量。你可能出于两种理解而需要阻止改变:设计或效率。
final类不能被继承,没有子类,
final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的
更詳細的請看:http://lavasoft.blog.51cto.com/62575/18771/
1.被static修饰的属性:
该属性可以被另一个类直接调用(当然也受访问权限的影响),而不用初始化该类,static属性只能是class 的成员,
不能在方法中用static修饰所定义的属性 。
2.被static修饰的方法:
该方法中不能存在非static修饰的属性和非static的方法,原因浅解释就是 避免出现未被初始化的对象或属性,相反,
非static修饰的方法,是可以调用有static修饰的属性或static修饰的方法的, 有一个比较特殊的static方法,就是static块,
static{ }; 该方法会在程序执行是最先调用。
3.被static修饰的内部类(注:主类不能被static修饰):
静态内部类是指在一个类的内部,又定义了一个用static修饰的类。可以用C中的结构体内嵌结构体来理解。首先,用内
部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放
这个类;
4.继承有static修饰的方法和属性的类:
static修饰的方法是不能被重写的,但属性可以被修改,如果两个都存在静态块,会先调用父类,再到子类的静态块。
5.简单的static在内存位置理解:<
4000
/p>
01.栈 02.堆 03.全局区
static就在 全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初
始化的全局变量和未初始化的静态变量在相邻的另一块区域,被static修饰的,拥有固定内存,调用效率高,但是不会自动回收。
二、final
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和
变量。你可能出于两种理解而需要阻止改变:设计或效率。
final类不能被继承,没有子类,
final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的
更詳細的請看:http://lavasoft.blog.51cto.com/62575/18771/
相关文章推荐
- LightOJ - 1245 Harmonic Number (II) 分块加速
- HDU 3265 Posters (线段树+扫描线)(面积并)
- Maven 项目使用开源中国镜像
- 深入浅出ES6(三):生成器 Generators
- 333333
- 航空公司判定图练习
- 提升 MongoDB 安全性的 10 个提示
- shiro认证的流程
- 用两个栈实现队列
- 迎来史上最好的编辑器:VSC,没有之一
- Linux系统的理解及学习Linux内核的心得
- HBuilder支持jquery、zepto、angular、ext、dojo 等js框架的提示吗
- 【Leetcode】:230. Kth Smallest Element in a BST 问题 in JAVA
- leetcode-343. Integer Break
- linux上破解myeclipse2014
- 基于fisher线性判别法的分类器设计
- Swift初始化方法顺序
- 九、堆与优先队列---(2)堆插入
- hibernate反向生成奇葩错误(续)
- jQuery学习小问题记录