20155314 2016-2017-2 《Java程序设计》第4周学习总结

教材学习内容总结

  • 理解封装、继承、多态的关系
  • 理解抽象类与接口的区别
  • 掌握S.O.L.I.D原则
  • 了解模式和设计模式
  • 能正确覆盖方法
  • 了解垃圾回收机制
  • 掌握Object类
  • 掌握enum

get到的重点

第六章 继承与多态

  • 相关概念:

    • 继承:避免多个类间重复定义共同行为
    • 子类与父类:
      • 父类:

        • 对有着共同特性的多类事物,进行再抽象成一个类,这个类就是多类事物的父类
        • 父类的意义在于可以抽取多类事物的共性
      • 子类既可以是一个子类,也可以是一个父类;父类既可以是一个父类,也可以是一个子类
      • 在Java中只有单一继承,即子类只能继承一个父类
      • 子类与父类间会有is-a的关系(子类 is a 父类)
    • is-a
    • 多态:
      • 继承可以复用代码,更大的用处是实现「多态」
      • 封装是继承的基础,继承是多态的基础
      • 「用父类声明对象引用,用子类生成对象」就有了多态
    • 覆盖:子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法
    • 抽象方法、抽象类:
      • Java中有抽象方法的类一定是抽象类,但抽象类中的方法不一定都是抽象方法
      • 抽象类不能使用new生成对象
  • 关键字:
    • extends:

      • 继承父类的行为,再扩充父类原本没有的行为
      • 继承时使用extends关键字,private成员也会被继承,但子类无法直接存取,必须通过父类提供的方法来存取(父类愿意提供访问方法的话)
    • 权限关键字:

      • public:权限最大

      • protected:被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取

      • private:权限最小

        但实际上有四个权限范围(未定义权限关键字时默认为包范围):

        |关键字 | 类内部| 相同包类|不同包类|

        | -------- | :----------------

        20155314 2016-2017-2 《Java程序设计》第4周学习总结的更多相关文章

        1. 20155336 2016-2017-2《JAVA程序设计》第九周学习总结

          20155336 2016-2017-2<JAVA程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连接 ...

        2. 20145213《Java程序设计》第九周学习总结

          20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

        3. 20145213《Java程序设计》第二周学习总结

          20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

        4. 20145213《Java程序设计》第一周学习总结

          20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

        5. 21045308刘昊阳 《Java程序设计》第九周学习总结

          21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

        6. 20145330孙文馨 《Java程序设计》第一周学习总结

          20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

        7. 20145337 《Java程序设计》第九周学习总结

          20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

        8. 20145337 《Java程序设计》第二周学习总结

          20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

        9. 20145218《Java程序设计》第一周学习总结

          20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

        10. 《Java程序设计》第九周学习总结

          20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

        随机推荐

        1. Sql Server 中使用日期遍历

          一个存储过程小案例,内容如下: declare @dt datetime set @dt='2016-01-01' while (@dt<='2016-12-31') begin -- 转换字符 ...

        2. 扩充巴科斯-瑙尔范式 ABNF简介

          扩充巴科斯-瑙尔范式(ABNF)是一种基于巴科斯-瑙尔范式(BNF)的元语言,但它有自己的语法和派生规则.ABNF的原动原则是描述一种作为双向通信协议的语言. ABNF是由第68号互联网标准(&quo ...

        3. spring 中 InitializingBean 接口使用理解

          前言:这两天在看 spring 与 quart 的集成,所以了解到 spring 是如何初始化 org.springframework.scheduling.quartz.SchedulerFacto ...

        4. AE三维点击查询(3D Identify)的实现(转)

          AE三维点击查询(3D Identify)的实现,类似ArcGIS的Identify对话框/////////////////////////////////////////////////////// ...

        5. content_form.class.php文件不完整 解决方案

          玩phpcms的从多少会遇到这个问题,根据错误提示我们可以发现是由于content_form.class.php文件不完整导致的,网上有好多文章说是把这个文件用本地的替换掉就可 以了,但是只要一更新缓 ...

        6. package.json中devDependencies与dependencies的区别

          前言:之前一直不懂既然都是项目的依赖,为什么要分成两个部分,devDependencies和dependencies,有什么区别? 安装方式 我们在通过npm安装插件或库时,有三种方式: npm in ...

        7. display:table-cell实现水平垂直居中

          如果查看css手册,会发现display有许多带table字样的可选属性,有table.inline-table.table-row-group.table-row.table-cell等10个之多, ...

        8. .hivehistory

          在当前用户的家目录下有个.hivestory文件,里面存放了用户执行的hive操作记录,如下: [hadoop@hadoop1 hive-0.14]$ cat ~/.hivehistory show ...

        9. 带你从零学ReactNative开发跨平台App开发(七)

          ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

        10. NLS_LANG引起的SQLPLUS乱码和length长度不正确.

          创建一个实验表语句如下 SQL> create table test(id number,name varchar2(10)); 当我们在SQLPLUS里面敲入下面的语句并回车执行的时候,SQL ...