final,static,abstract

时间:2022-09-07 23:39:11

一、final

1.可以修饰属性,表示常量,其值在运行期间不允许改变。常量必须赋初始值,初始值可以在声明出,构造方法的任意一个地方赋

  优点:增强程序的可读性,可维护性

2.可以修饰方法,表示该方法不能被重写(可以继承)

3.可以修饰,表示该类不能被继承(不能产生子类)

二、static

1.可以修饰属性

  类属性(静态属性):由static修饰的属性。属于类,只分配一份内存,该类的对象都可以使用

    调用:类名.属性

    可以被静态方法,实例方法直接访问

  实例属性(没有static修饰的):属于实例对象,每一个对象都有自己的内存

    调用:对象名.属性

    可以被实例方法直接访问(静态方法如果要访问,必须先创建对象)

2.可以修饰方法

  类方法(静态方法)可以直接访问静态成员,不能直接访问实例成员。

如果要访问实例成员,必须先创建对象,再用对象名.成员去访问。

  实例方法:可以直接访问实例成员、静态成员。

三、abstract

  抽象方法:由abstract修饰的,没有方法体的方法。

  抽象类:由abstract修饰的类。

    包含抽象方法的类必须是抽象类。

    抽象类不能实例化(不能用new创建对象)。

  注意:final和abstract不能同时修饰一个方法或一个类

     static和abstract不能同时修饰一个方法

final,static,abstract的更多相关文章

  1. Java中 final、static、abstract区别与联系

    1.static修饰符 static作用于代码块:称作静态代码块(可以初始化static field,不能初始化非static field); static作用于methods: static方法只能 ...

  2. php类中的$this,static,const,self这几个关键字使用方法

    本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法 $this $this表示当前实例,在类的内部方法访问未声明为const及stati ...

  3. JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块

    JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区*部变量和成员变量同名的情况 ...

  4. (转)C/C++——auto,static,register,extern用法

    转自:https://blog.csdn.net/u010757264/article/details/49932829 C++中变量.函数的属性包括数据类型和存储类别.存储类别分为静态存储和动态存储 ...

  5. 4)抽象方法不能为private,final或者static,为什么?

    抽象方法的最实质的意 义在于被未来的子类覆盖实现掉.它自己是个空方法.private的实质意义在于本类其他方法调用它.你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起 ...

  6. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  7. final,static,super,this

    ## final 关键字 **final关键字主要用在三个地方:变量.方法.类.** 1. **对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变 ...

  8. Java之面向对象概述,类,构造方法,static,主方法,对象

    一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...

  9. CSS中position属性 (absolute,relative,static,fixed)

    只要position的属性值设置的不是默认的值则定位的元素都将脱离文档流 1.static是position的默认的值,按照正常的文档流进行排版,设置了该属性值得元素的top,left属性均不起作用. ...

随机推荐

  1. Hybrid框架UI重构之路:五、前端那点事儿(HTML、CSS)

    上文回顾 :Hybird框架UI重构之路:四.分而治之 这里讲述在开发的过程中,一些HTML.CSS的关键点. 单页模式的页面结构 在单页模式中,弱化HTML的概念,把HTML当成一个容器,BODY中 ...

  2. chrome设置--disable-web-security解决跨域

    我们可以通过使用chrome命令行启动参数来改变chrome浏览器的设置,具体的启动参数说明参考这篇介绍.https://code.google.com/p/xiaody/wiki/ChromiumC ...

  3. codeforces 630F Selection of Personnel(组合数)

    F. Selection of Personnel time limit per test 0.5 seconds memory limit per test 64 megabytes input s ...

  4. 单个SWF文件loading加载详解(转)

    通过带宽查看器,可以看到SWF中每帧所占带宽状况.另外,我们还可以在Flash发布设置中,选择生成体积报告. 勾选这一项之后,发布flash时,会自动在fla目录中生成一个名为”文件名 Report. ...

  5. 跟我学android-	创建运行环境(二)

    Android程序 需要在Android手机上运行,因此 Android开发时 必须准备相关运行,调试环境. Android真机(建议使用真机,速度快,效果好) Android虚拟设备(AVD) 使用 ...

  6. 【USACO 2.4.4】回家

    [描述] 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛). 在挤奶 ...

  7. HDU4893--Wow! Such Sequence! (线段树 延迟标记)

    Wow! Such Sequence! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  8. PHP显示超全局变量和显示程序执行时间

    <?php header('Content-type: text/html; charset=utf-8'); $t1 = microtime(true);//记录脚本刚开始运行是的时间戳 ec ...

  9. Thinkphp5背景图片的引入~ 以及图片的引入

    将图片信息从数据库查询 再渲染于前台页面

  10. LOJ&period;6068&period;&lbrack;2017山东一轮集训Day4&rsqb;棋盘&lpar;费用流zkw&rpar;

    题目链接 考虑两个\(\#\)之间产生的花费是怎样的.设这之间放了\(k\)个棋子,花费是\(\frac{k(k-1)}{2}\). 在\((r,c)\)处放棋子,行和列会同时产生花费,且花费和该行该 ...