(一)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回调 ),具体的实现交给子类,父类把模板定义好

最新文章

  1. Linux.NET实战手记—自己动手改泥鳅(上)
  2. SQL常用查询语句及函数
  3. a different object with the same identifier,同一个session中存在不同的对象问题
  4. 异步解压ZIP文件
  5. oracle安装界面中文乱码解决
  6. Code for the Homework1 改进
  7. cocos-html5 Json 灵活 遍历方式 不同方式的缺陷,优点总结
  8. Java SE Java EE Java ME 的区别
  9. eclipse如何运行maven项目
  10. 如何成为出色的IT项目经理:成功的五个关键因素
  11. C# winform小票打印
  12. centos没有可用软件包 libgtk2
  13. 2017-11-10 Fr Oct 消参
  14. spool
  15. 初识hibernate——环境搭建
  16. web自动化测试---自动化脚本设置百度搜索每页显示条数
  17. LeetCode - Daily Temperatures
  18. RHEL6安装配置DNS服务
  19. <项目管理的决策力>总结梳理
  20. NLP系列(4)_朴素贝叶斯实战与进阶(转)

热门文章

  1. use vue vuex vue-router, not use webpack
  2. JLOI2015 解题报告
  3. NodeJs之crypto
  4. groovy学习(五) 命令行输入输出
  5. linux数据库初始化配置
  6. 谈谈事件对象-event
  7. 微信公众平台开发-access_token获取及应用(含源码)
  8. C#语言基础——定义变量、变量赋值、输入输出
  9. Alamofire源码解读系列(三)之通知处理(Notification)
  10. maven项目发布不成功的问题