javaSE探赜索隐之四<final与抽象类>
final
- final关键字可以用来修饰属性、方法、类
用finalal修饰的变量必须直接赋值,且不能修改。也就是常量。所依,finall往往与static一起出现,所有对象共用一份,节省存储空间。
public final static int NUM = 10;//所有对象共享一份
final修饰的类不能被其他类继承,不能被定义为抽象类。(抽象类必须要靠子类实现)。
final修饰的方法不能被重写。
final修饰的方法其参数在每一次传参后其值不能被改变。
public static void testFinal(final int a){a=10; // 该操作是无效的,每一次传参后其值不能被改变相当于a在该方法中是常量。}
抽象类
- 如果一个类没有足够的信息去描述一个具体的对象,那么这个类是抽象类。
- 抽象类不能直接实例化对象。但其他功能依然存在(成员变量、成员方法、构造方法),让子类去实现。
- 如果一个类继承了抽象类,要么重写该抽象类中所有的抽象方法;要么将该类定义为抽象类(用abstract修饰)。
- 抽象类里可能有未实现的抽象方法,如果一个类有抽象方法,这个类一定是抽象类。
- 构造方法和静态方法不可以用abstract修饰。
原因:1.构造方法如果被abstract修饰,则它就方法体,不能创建对象。
2.静态方法如果被abstract修饰,则它本就可以直接用类名调用,绕过对象(继承实现该抽象方法的对象),抽象方法不能直接调用。
javaSE探赜索隐之四<final与抽象类>相关推荐
- javaSE探赜索隐之四--包
包 包的作用 避免类名重复. 全类名 = 包名 + 类名 只要在不同的包中,即使类名相同,我们也可以精确访问. 我们可以用import关键字+全类名,来导入外部包的类. 如果类名相同,则默认使用imp ...
- JavaSE自学笔记013_Real(抽象类、接口、两种设计模式)
JavaSE自学笔记013_Real(抽象类.接口) 一.基本概述 (一)抽象类(关键字:abstract) //抽象方法 public abstract class Animal{abstract ...
- Day11(重写,多态,final,抽象类)
一.重写 1. 方法重写的注意事项: 1.父类中私有的方法不能被重写 2.子类重写父类方法的时候,访问权限不能更低 要么子类重写的方法访问权限比父类的访问权限要高或者一样 建议:以后子类重写父类方法的 ...
- 类变量类方法,main方法,代码块,单例设计模式,final,抽象类
一.类变量和类方法 1.类变量 也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. 1).定 ...
- java 抽象类_什么是final?Java抽象类又是什么?抽象类能使用 final 修饰吗?
第十三题 讲解人:张小龙 8.23 邮箱:2304940425@qq.com 一.什么是final? final是java中的一个关键字,可以用来修饰变量.方法和类.用关键词final修饰的域 ...
- 9、包、访问控制、import、static、static代码块、final、抽象类、接口、instanceof、多态...
1.包 三级命名:公司的尾缀(com).公司名字(baidu).业务(Sale) java.lang:默认包:String.Math,Object,System java.util:工具包 java. ...
- JavaSE探赜索隐三<接口>
接口 从本质上讲接口是一种特殊的抽象类.不过用 interface关键字罢了,而抽象类关键字是abstract class. java中一个类可以实现多个接口,解决了Java类单继承问题.(一个类只能 ...
- javaSE探赜索隐六(常用类API)
常用类(API) 概述 java API 就是java应用程序编程接口.在我们程序员看来,API就是对java中预定义的类或者接口中的.属性.方法的功能进行说明的文档. Object Object类是 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
最新文章
- python将变量a全部变成大写字母_每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写...
- DPDK架构与特点(转)
- 【机器学习入门笔记2:OpenCV图片读取和展示】20190203
- go语言游戏编程-Ebiten实现画面的填充
- 解决服务器上 w3wp.exe 和 sqlservr.exe 的内存占用率居高不下的方案
- Orchard CMS前台页面为什么没有Edit链接?
- 浅谈SAP Cloud for Sales 自动化
- 【Linux】- 守护进程的启动方法
- sql优化——模糊查询
- java 蓝桥杯算法提高 身份证号码升级(题解)
- Windows上配置iPhone开发环境
- linux应用对I2C设备驱动4种读写方法
- nohub java -jar xx.jar /dev/null 21
- 算法:单词匹配290. Word Pattern
- RHCS 测试过程(含GFS2),未完待续!
- 在Linux下安装GmSSL
- UE4 粒子特效基础学习 (01-将粒子效果挂载到角色身上)
- 求解带时间窗的车辆路径问题(matlab实现)
- python模块xlutils如何下载_Python-如何安装xlutils?
- Hibernate报错org.hibernate.MappingException: Unknown entity解决方法