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

教材学习内容总结

  • 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

  • Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

  • 多态的特征是表现出多种形态,具有多种实现方式。或者多态是具有表现多种形态的能力的特征。或者同一个实现接口,使用不同的实例而执行不同的操作。

  • 多态的使用可以增强程序的可扩展性及可维护性,使代码更加简洁。
    不但能减少编码的工作量,也能大大提高程序的可维护性及可扩展性。

  • 接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

  • 重新定义行为:接口操作相同,只是操作内容不同的两个方法提升至父类中进行定义

  • 父类中定义了方法,实际上如何执行只有子类知道,父类里的方法内容是空的,子类继承父类,再对方法进行定义。

  • 重新定义子类中某个方法时,子类必须撰写与父类方法中相同的签署。

  • Java中所有对象都是一种java.lang.object等细节。

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

  • 利用toString()方法返回字符串描述。

  • public:类内部可存取,相同包类可存取,不同包类可存取。

  • protected:类内部可存取,相同包类可存取,子类可存取
    无:类内部可存取,相同包类可存取,不同包类不可存取。

  • private:类内部可存取,相同包类不可存取,不同包类不可存取。

  • super关键字:想取得父类中的方法定义,可以在调用方法前加上

  • 可以使用super调用父类方法,不能定义为private(这就只限定在类内使用)。

  • 重新定义方法,子类对于父类中的方法权限,只能扩大不能缩小。

  • static方法没有多态。

  • super()和this()只能择一调用,而且要在构造函数第一行。

  • class前使用final关键字定义,表示这个类是最后一个了,不会再有子类,不能被继承。

  • 方法也可以被限定为final,表示最后一次定义方法,子类不可以再重新定义该方法。

  • java中任何类追溯至最上层父类,定义时没有使用继承,一定就是java.lang.Object,所有对象一定是一种Object,任何类型的对象,都可以使用Object的名称来参考。

教材学习中的问题和解决过程

  • 区分public、package、protected、private的关系:
    public private protected和package都是系统的实例变量的范围类型。

为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性。

具体区别如下:

  • private
    实例变量只能被声明它的类访问。

  • protected
    实例变量能被声明它的类和子类访问,所有没有显式制定范围的实例变量都是。

  • public
    实例变量可以被在任何地方访问。

  • package
    使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private。Objective-C中的@package与C语言中变量和函数的private_extern类似。任何在实现类的镜像之外的代码想使用这个实例变量都会引发link error这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放。

(链接:https://zhidao.baidu.com/question/1990856800430686467.html)

上周考试错题总结

  • 错题1 System.out.println(52+25+””);的结果是(77)
  • 错题2 “30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)
  • 错题3 Java中方法参数只用(传值)调用
  • 错题4 p86 Guess.java中guess的值无法输入12。(X)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

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

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

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

  2. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

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

  3. 20155338 2016-2017-2 《Java程序设计》第九周学习总结

    20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 贝叶斯网络(Bayesian network))简介(PRML第8.1节总结)概率图模型(Graphical models)

    转:http://www.cnblogs.com/Dzhouqi/p/3204353.html 部分图为手写,由于本人字很丑,望见谅,只是想把PRML书的一些部分总结出来,给有需要的人看,希望能帮到一 ...

  2. 漫谈 Clustering (4): Spectral Clustering

    转:http://blog.pluskid.org/?p=287 如果说 K-means 和 GMM 这些聚类的方法是古代流行的算法的话,那么这次要讲的 Spectral Clustering 就可以 ...

  3. OC NSMutableString的使用

    #pragma mark 可变字符串的创建 void stringCreate() { // 预先分配10个字数的存储空间 NSMutableString *str = [[NSMutableStri ...

  4. MATLAB入门学习(七)

    开始,线性代数和微积分了,不怕.不怕. 背命令就行了... 线性代数 解线性方程组: Ax=b A是系数矩阵,x未知数,b是列向量 如果有唯一解,直接x=b\A 第二 B=null(A,'r')求Ax ...

  5. HDU 5677 ztr loves substring(Manacher+dp+二进制分解)

    题目链接:HDU 5677 ztr loves substring 题意:有n个字符串,任选k个回文子串,问其长度之和能否等于L. 题解:用manacher算法求出所有回文子串的长度,并记录各长度回文 ...

  6. IntelliJ IDEA设置编码格式

    IntelliJ IDEA设置编码格式为UTF-8

  7. 【转】android 常用theme

    android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式android:theme="@android ...

  8. 本地测试时修改localhost为自己网站的域名的方法(转载)

    做网站的,在本地测试时,所用的地址基本上都是localhost 或者直接用IP地址:127.0.0.1 如果仅仅是用来测试网站内部的程序代码之类的当然没问题,但是如果我们还要测试网站上添加的广告或者统 ...

  9. Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array 【dp】

    传送门:http://codeforces.com/contest/1105/problem/C C. Ayoub and Lost Array time limit per test 1 secon ...

  10. HDU 2018 Multi-University Training Contest 1 Triangle Partition 【YY】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6300 Triangle Partition Time Limit: 2000/1000 MS (Java ...