JAVA从入门到精通-抽象类
金延鑫 2018-04-04 来源 : 阅读 1746 评论 0

摘要:要想JAVA从入门到精通,我们必须要理解抽象类,分为:抽象方法、抽象类、模版方法模式、final关键字、static关键字,我们得出无论是变量,方法,还是代码块,只要用static修饰,就是在类被加载时就已经"准备好了",也就是可以被使用或者已经被执行。都可以脱离对象而执行。反之,如果没有static,则必须通过对象来访问。让我们在JAVA从入门到精通中走的更远。

抽象方法

l 只有方法头没有方法体的方法称为抽象方法

l 抽象方法用abstract来修饰

l 抽象方法代表一种不确定的操作或行为

l 抽象方法不能被调用

抽象类

l 定义中含有抽象方法的类叫做抽象类

l 抽象类用abstract来修饰

l 抽象类代表一种抽象的对象类型

l 抽象类不能实例化

l 抽象类中可以有具体方法,可以没有抽象方法

模版方法模式

l 定义

一个模版方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体行为

l 原理

定义了一个在操作中的一个算法框架,把一些步骤推迟到子类去实现。模版方法模式让子类不需要改变算法结构而重新定义特定的算法步骤。

final关键字

l final类

Ÿ  用final修饰的类,表示为最终类,没有子类,不能被继承

Ÿ 所有方法隐式指定为final方法,不能被改写

Ÿ 出于某种考虑,该类的设计永不需做任何改变,或出于安全考虑,不希望它有子类

l final方法

Ÿ 用final修饰的方法不能被改写。(不能有abstract final method)

l final常量

Ÿ final修饰的字段,表示常量字段

Ÿ final修饰的局部变量,表示局部常量

Ÿ 常量往往是被定义为静态static的,名字大写,表示静态常量

Ÿ 常量字段的初始化规则:

ü 显示初始化

ü 构造方法中进行初始化

ü 代码块中进行初始化

Ÿ 对于基本类型,final使数值恒定不变

Ÿ 对于引用类型,final是引用恒定不变,而对象本身可以修改

static关键字

1. static field 属于类所有,类所产生的所有对象共享(类名.属性名、对象.属性名)

2. static field 只有一份,一改全改

3. static field 在类加载时初始化,早于对象的创建

4. static method 用于访问static field(类名.方法、对象.方法)

5. static method 不可以访问非static field以及非static method

6. 非static method可以访问static field和static method

7. static method 中没有this和super

8. static不能修饰局部变量

9. static可以修饰代码块,称作静态代码块(类加载时执行)(可以初始化static field,不能初始化非static field)

10. static破坏封装,尽量少用

总结:无论是变量,方法,还是代码块,只要用static修饰,就是在类被加载时就已经"准备好了",也就是可以被使用或者已经被执行。都可以脱离对象而执行。反之,如果没有static,则必须通过对象来访问。

希望这篇文章可以帮助到你,总之同学们,it资讯尽在职坐标。

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长与学生或家长及时有效沟通

  • 10
    文章
  • 7891
    人气
  • 95%
    受欢迎度

已有19人表明态度,95%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
JAVA语言-类和对象
经验技巧 100% 的用户喜欢
匿名对象,内部类,静态内部类,static关键字-JAVA从入门到精通
经验技巧 0% 的用户喜欢
JAVA语言-String类的常用方法
经验技巧 0% 的用户喜欢
JAVA语言-volatile
经验技巧 0% 的用户喜欢
JAVA语言程序设计-单Client与Server的单向通信和双向通信
经验技巧 0% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
程光淼
程光淼 联系TA
精通C、C++等语言、智能芯片开发
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程