static、final与abstract(day06-13.10.18)
来源:互联网 发布:瑞安网络问政 编辑:程序博客网 时间:2024/06/07 01:30
static:静态变量修饰的属性、方法及代码块均属于类。
1.静态属性
静态修饰的成员变量属于类级别,在类加载过程中分配,所有类与类的实例共享一个变量,相当于全局变量,一般使用类名访问静态属性(与实例变量不同)。
2.静态方法
静态方法是属于类的方法,可以通过类来访问,是全体类公有的工具方法,静态方法与类的实例无关,在静态方法中不能使用this,或者说静态方法值只能访问静态变量。
3.静态代码区
类加载期间运行的代码,由于类只加载一次,因此静态代码区代码只执行一次。静态代码区一般用来在类加载后,初始化一些静态资源的使用,如加载配置文件。
总结:静态方法属于类,非静态方法属于对象,静态方法使用的属性是静态的,常用来做工具方法。
final:
1.final修饰的类,不能再被继承
在实际项目中,原则上不允许使用final类,如Sping等,这些代码经常动态代理(动态继承),使用final类可能造成这些框架的工作问题
2.final修饰的方法,不允许被覆盖
实际柴发项目中,原则上不允许使用final方法
3.final修饰的变量,初始化后,不允许修改
a:fianl局部变量
b:fianl方法参数
c:final成员变量
4.final static:JAVA使用final static修饰的变量作为常量,一般要求常量名第一个为大写字母
abstract:
若一个类为抽象类且全部方法为抽象方法,可用做接口。包括抽象方法的类一定为抽象类。
1.抽象方法:只有行为的概念,无具体行为的实现,使用abstract关键词修饰,且无方法体。
2.抽象类:含抽象方法的类,一定为抽象类。
抽象方法与抽象类适合做系统分析与设计工具。抽象类不可直接创建实例,可引用变量。抽象类只能被继承,一个具体类继承一个抽象类,必须实现所有的抽象方法。
在测试“若一个类为抽象类且全部方法为抽象方法,可用做接口”时,出现错误:The type man cannot be a superinterface of student; a superinterface must be an interface。解决方法:接口要定义成interface,不可定义成class
- static、final与abstract(day06-13.10.18)
- 修饰符static、final、abstract与接口
- Java-abstract(抽象)、final、static
- 三个修饰符(abstract,static,final)
- static,final和abstract
- static 、final、abstract、interface
- 【insigma】static、final、abstract
- static final abstract
- static,final和abstract
- static,final,abstract
- static,final,abstract,接口
- abstract static final区别
- java学习笔记(三)java中的修饰符abstract、static与final
- PHP类与对象 final static const abstract 关键字
- abstract 不可以 与final , private , static 共存
- 修饰符(final,static,abstract)
- 介绍 abstract、static 和 final
- abstract, interface, final, static 区分
- cocos2d-x-TiledMap-ccTouch-双指缩放-单指拖动-双击自动放大
- 笔试面试题目5
- shell脚本强制进程重启
- OpenStack Havana版发布
- JavaSE视频学习阶段性总结 七(类,域,方法的修饰符)
- static、final与abstract(day06-13.10.18)
- 我伙呆,硅谷高级工程师年薪16.5万美金起
- jxl与Struts2 生成下载excel文件 使用Excel模板 (云少原创)
- iOS手势UIGestureRecognizer整理
- IE学习之道:IE开发利器-IE10中的F12开发者工具
- [cocos2d-x] 为精灵划定轨迹路线
- 最简单不过的数据库导出Excel文件代码
- [Ext JS 4] 实战之Grid, Tree Gird 动态添加列续(性能考虑)
- 2013-10-18