final,static,abstract
一、final
1.可以修饰属性,表示常量,其值在运行期间不允许改变。常量必须赋初始值,初始值可以在声明出,构造方法的任意一个地方赋
优点:增强程序的可读性,可维护性
2.可以修饰方法,表示该方法不能被重写(可以继承)
3.可以修饰类,表示该类不能被继承(不能产生子类)
二、static
1.可以修饰属性
类属性(静态属性):由static修饰的属性。属于类,只分配一份内存,该类的对象都可以使用
调用:类名.属性
可以被静态方法,实例方法直接访问
实例属性(没有static修饰的):属于实例对象,每一个对象都有自己的内存
调用:对象名.属性
可以被实例方法直接访问(静态方法如果要访问,必须先创建对象)
2.可以修饰方法
类方法(静态方法):可以直接访问静态成员,不能直接访问实例成员。
如果要访问实例成员,必须先创建对象,再用对象名.成员去访问。
实例方法:可以直接访问实例成员、静态成员。
三、abstract
抽象方法:由abstract修饰的,没有方法体的方法。
抽象类:由abstract修饰的类。
包含抽象方法的类必须是抽象类。
抽象类不能实例化(不能用new创建对象)。
注意:final和abstract不能同时修饰一个方法或一个类
static和abstract不能同时修饰一个方法
final,static,abstract的更多相关文章
- Java中 final、static、abstract区别与联系
1.static修饰符 static作用于代码块:称作静态代码块(可以初始化static field,不能初始化非static field); static作用于methods: static方法只能 ...
- php类中的$this,static,const,self这几个关键字使用方法
本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法 $this $this表示当前实例,在类的内部方法访问未声明为const及stati ...
- JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块
JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名的情况 ...
- (转)C/C++——auto,static,register,extern用法
转自:https://blog.csdn.net/u010757264/article/details/49932829 C++中变量.函数的属性包括数据类型和存储类别.存储类别分为静态存储和动态存储 ...
- 4)抽象方法不能为private,final或者static,为什么?
抽象方法的最实质的意 义在于被未来的子类覆盖实现掉.它自己是个空方法.private的实质意义在于本类其他方法调用它.你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起 ...
- 抽象方法不能为private,final或者static,为什么?
4)抽象方法不能为private,final或者static, native, synchrozied为什么?[新手可忽略不影响继续学习]马克-to-win:抽象方法的最实质的意义在于被未来的子类覆盖 ...
- java基础复习:final,static,以及String类
2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...
- final,static,super,this
## final 关键字 **final关键字主要用在三个地方:变量.方法.类.** 1. **对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变 ...
- Java之面向对象概述,类,构造方法,static,主方法,对象
一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...
随机推荐
- oracle 查看处理锁表
--查出sid,serial#select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where ...
- Android中 Git 使用中几个概念
1.仓库(版本库) 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史 ...
- struts2注解json 配置文件json
java提供了便捷的Json-lib 类库,能够让我们很方便的将 Array / JavaBean / Map 解析成 JSON 串,当然反之也是可以的. struts2借助于json-lib类库, ...
- Traceback (most recent call last): File "c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\extensions\microsoft\python\core\Packages\ptvsd\_vendored\pydevd\_pydevd_bundle\pyd
某次编码,debug的时候突然突然突然给我报这个错: Traceback (most recent call last): File "c:\program files (x86)\mi ...
- 恢复oracle 11g 的System及sys用户的密码
进入E:\app\orcl\product\11.2.0\dbhome_1\database目录下找到PWDorcl.ora备份后删除文件,orcl是数据库的实例名 以管理员身份打开cmd,执行 or ...
- linux 文件压缩与解压
zip格式: zip -r(源文件是目录) [目标文件] [源文件] unzip -d [解压到的目录] [要解压的文件] gz格式: gzip [源文件] #会删除源文件 gzip -c [源文 ...
- VS2017编译SNMP++步骤记录
1.下载地址:https://www.agentpp.com/download.html 三个都下 2.新建解决方案 TestSnmp 3.下载后解压到解决方案文件夹(注意,解压后的 snmp++的版 ...
- linux重装rabbitmq的问题
一.卸载 [root@zabbix_server lib]# rpm -qa|grep rabbitmq rabbitmq-server--.noarch [root@zabbix_server li ...
- 使用MagickNet编辑图片
ImageMagick是一个免费的创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片.图片切割.颜色替换.各种效果的应用,图片的旋转.组合,文本,直线,多边形,椭圆,曲线 ...
- Sprite/MovieClip的Enter_Frame事件,不受addChild/removeChild影响
简单点讲:Sprite或MovieClip对象一旦为其添加了Enter_Frame事件监听,对应的Enter_Frame处理函数将会马上被调用,并一直执行下去(不管你是否将其addChild到显示列表 ...