Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)
(一)Java中的继承:
关于继承,在Java中类的继承只能是单继承,不像C+++那样灵活,可以多继承,多继承的后果就是各种关系乱套,就相当于一个孩子有2个母亲一样,社会关系的复杂,不利于程序后期的开发和维护,所有Java中的类是只能单继承,通过接口来实现多继承;对于接口的话,是可以多继承的,例如:A接口可以同时继承接口B和接口C,但是有一点要注意,就是实现接口A的类必须要实现接口A、B、C中所有的抽象方法;接口之所以可以多继承,就是因为接口结构比较简单。
继承是通过extends关键字来实现,默认的父类是Object类(根源)。
(二)四种修饰符(public protected 默认friendly private )
1.对于public 修饰的属性和方法:不管在哪个包中的哪个类都可以使用,不同项目之间的肯定就不可以了。
2.对于protected修饰的属性和方法:首先的话,在同包的类中都可以使用,或者其它包中的子类中使用,但是有一点要注意,在子类中的main()方法中就不能使用该属性或者方法
3.对于friendly修饰的属性和方法:只能在同包中使用
4.对于private 修饰的属性和方法:只能在本类中使用
(三)final修饰符
1.被final修饰的类:不能被继承
2.被final修饰的变量:就是常量,不能在被修改
3.被final修饰的方法:该类的子类不能重写该方法,但是可以在本类重载该方法
4.注意:比如在main()方法中:代码如下

运行的效果:
说明:在引用前面加fina修饰符,只是让a的空间地址不能改变而已,可以修改a指向的数组里面的各项值
(四)封装
首先的话要用private修饰符,来修饰类的成员变量,只能在本类中使用,通过set、get方法提供对外的访问入口
好处:1.只能通过指定方法进行数据的访问
2.隐藏类的具体实现细节
3.方便修改实现
4.方便加入控制语句
(五)多态:
多态的构成条件:1.要有类的继承
2.要有方法的重写
3.父类的引用指向子类的对象
看代码:
运行的效果:
多态的好处:

(六)模板方法模式(template method)
首先定义一个抽象的模板

大概的意思就是:先订餐 酒店去操办 最后付款
写一个实现它的子类:(在写main方法)

来看看运行效果:

注意:这就是模板方法模式,之前肯定有很多人纳闷,这个方法我明明没有调用,为什么运行了,就是这个原因,也叫钩子函数(hook或者callBack回调 ),具体的实现交给子类,父类把模板定义好
Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)的更多相关文章
- 设计模式 - 模板方法模式(template method pattern) JFrame 具体解释
模板方法模式(template method pattern) JFrame 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(templ ...
- 设计模式 - 模板方法模式(template method pattern) 排序(sort) 具体解释
模板方法模式(template method pattern) 排序(sort) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(tem ...
- 设计模式 - 模板方法模式(template method pattern) 具体解释
模板方法模式(template method pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 模板方法模式(template metho ...
- java设计模式 模板方法模式Template Method
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.毫无疑问,设计模式于己 ...
- C#设计模式-模板方法模式(Template Method)
概念 模板指一些可以套用的公共内容,例如网页模板是当网站中有许多页面版式色彩相同的情况下,将其定义为网页模板,并定义其中部分可编辑,部分不可编辑,那么在利用网页模板制作其他页面时就会很方便,不易出错. ...
- 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)
设计模式 ( 十九 ) 模板方法模式Template method(类行为型) 1.概述 在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行 ...
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
原文:乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 模板方法模式(Template Method ...
- 模板方法模式 Template method 行为型 设计模式(二十六)
模板方法模式 Template method 上图为网上百度的一份简历模板截图 相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为 ...
- 模板方法模式-Template Method(Java实现)
模板方法模式-Template Method 在模板模式中, 处理的流程被定义在父类中, 而具体的处理则交给了子类. 类关系图很简单: Template接口 这里定义了子类需要实现的方法(before ...
随机推荐
- 【翻译】Jay Kreps - 为何流处理中局部状态是必要的
译者注: 原文作者是 Jay Kreps,也是那篇著名的<The Log: What every software engineer should know about real-time da ...
- [Hive] - Hive参数含义详解
hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...
- 第二章:JavaScript对象
一.window对象 1.属性 2.方法 二.history对象 1.方法 三.location对象 1.属性 2.方法 四.Document对象 1.属性 2.方法
- Dijkstra算法的二叉堆优化
Dijkstra算法的二叉堆优化 算法原理 每次扩展一个距离最小的点,再更新与其相邻的点的距离. 如何寻找距离最小的点 普通的Dijkstra算法的思路是直接For i: 1 to n 优化方案是建一 ...
- 地图定位CoreLocation框架,地理位置编码与反编码
在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...
- 每天一个linux命令(47)--scp命令
scp是secure copy 的简写,用于在Linux 下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝而不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当 ...
- 2017-3-2 C# WindowsForm 中label标签居中显示
有时候label标签要输出 label.text=""; 的语句,那么要把这个语句居中显示 1.要取消他的Autosize的值 2.拉大这个框,设置里面的文本的TextAlign ...
- 不需要密码的windows计划任务设置
使用windows计划任务定时做些事情,确实非常方便,但创建任务时老是需要设置密码,否则在执行任务时会报80070005的系统错误导致任务无法执行. 有时windows没设密码或当账户修改密码就必须修 ...
- 《深入理解Java虚拟机》学习笔记之内存回收
垃圾收集(Garbage Collection,GC)并不是Java语言的半生产物,事实上GC历史远比Java久远,真正使用内存动态分配和垃圾收集技术的语言是诞生于1960年的Lisp语言.经过半个世 ...
- Bootstrap学习-环境安装
1.<meta http-equiv="X-UA-Compatible" content="IE=edge"> 让IE运行最新的渲染模式. 2.&l ...