教材学习内容总结

第5章 子类与继承
  1. 子类的继承性
  • 子类和父类在同一包中的继承性:子类继承父类中不是private的成员变量和方法作为自己的成员变量和方法
  • 子类和父类不在同一包中的继承性:子类只继承父类中的protectedpublic访问权限的成员变量和方法作为子类的成员变量和方法

    2.成员变量的隐藏
  • 子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。
  • 子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量

    3.方法的重写
  • 子类中定义的这个方法要和父类中被覆盖的方法类型一致
  • 重写的方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。

    4.super关键字:
  • 子类中想使用被子类隐藏的成员变量或方法
  • 子类在其构造方法中需使用super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句。

    5.final
  • final类不能被继承,不能有子类。
  • final方法不允许子类重写
  • final修饰成员变量或局部变量,他就是常量,且运行期间不允许发生变化。

    6.abstract

    -abstract类可以有abstract方法,也可以有非abstract方法,但是非abstract类只有非abstract方法
第6章 接口与实现

1.接口声明

  • 接口通过使用关键字interface来声明
  • 格式:interface 接口的名字

2.接口体

  • 接口体中包含常量定义和方法定义两部分。
  • 接口体中只进行方法的声明,不许提供方法的实现,
  • 所以,方法的定义没有方法体,且用分号“;”结尾。

3.接口回调

可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,
那么该接口变量就可以调用被类重写的接口方法。
实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。

4.abstract类与接口的比较

  • abstract类和接口都可以有abstract方法。
  • 接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。
  • abstract类中也可以有非abstract方法,接口不可以。

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

Q1:当学习到子类和父类不在同一包中的继承性时,提到privatepublicprotect,他们之间的区别是什么?

A1:经过回顾第四章的内容,我总结了一下:

修饰符 修饰变量和方法
private 如果A类中某个成员是private类变量和方法,那么另一个类B中,不能通过类名A来操作这个变量和方法
public 如果A类中某个成员是public类变量和方法,那么另一个类B中,能通过类名A来操作这个变量和方法
protect 如果在另外一个B中用类A创建了一个对象后,如果A和B在同一个包中,那么该对象可以访问自己的protect变量和方法。

Q2:(未解决)对于如图所示代码,出现问题:
如果computer方法的接口的参数是float型,为什么在主类上,实参是8和9是int型?
![](https://images2018.cnblogs.com/blog/1297630/201803/1297630-20180325133315244-32272673.jpg)

Q3:(未解决)对于如图所示代码,为什么要这么写,而不是直接给对象的实体变量赋值?

代码调试中的问题和解决过程

Q1:(未解决)在调试代码时,出现了如图所示状况:

Q2:(已解决)编译运行时,出现了如图所示错误:

A2:我上网查询了,总结了一下出现该问题的原因:

一般出现此问题的原因为:

  • 花括号没有闭合
  • 缺少了分号

    仔细检查了一下自己的程序,确实是在父类中少打了一个}

Q3:(已解决)此前在学习之前的内容时,一直存在一个问题,出现类和主类不在同一个包里时,在编译主类时,总是出现错误,找不到类,不知是什么原因?

A3:在同学的帮助下,找到了原因,我之前并没有在类的文件夹之外编译运行,在文件夹之外运行后,编译成功了。

Q4:(已解决)之前运行代码时,出现了printlnprintf敲错的问题,为此,我特意总结了一下区别:

A4:

printf主要是继承了C语言的printf的一些特性,可以进行格式化输出

print就是一般的标准输出,但是不换行

printlnprint基本没什么差别,就是最后会换行

代码托管

上周考试错题总结

Q1:

这道题尽管做对,但是我还是想了解一下java demo 3的含义。

Q2:

A2:int强制转换字符表示字符的Unicode码,即字符在Unicode表中的位置。

Q3:

A3:漏选了A项,字符串数组的初始化后面必须要加{ }。详情可继续参照java字符串数组初始化和赋值

其他

随着学习内容的增多,我们在之后的学习过程中难免会出现对前面的知识出现模糊的情况,这并不可怕,其实,这反而是一件好事,帮助我们了解自己对于前面知识点的漏洞,随后进行查漏补缺,会对整个知识体系的掌握有很大的好处。

另外,自己要学会对比总结学习,所谓对比总结就是对比一些很相似但又不同的知识点,并总结他们的相同点和不同点,这样知识会掌握的更加牢固。

还有,通过本周的考试,自己明显吃力了很多,应该自己尝试编代码,而不是一味地敲书上的代码,应该多实践,多动手,理论+实践。

学习进度条

~ 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第三周 1716/1500 1/2 30/90

参考资料

print&println&printf

20165203《Java程序设计》第四周学习总结的更多相关文章

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  3. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

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

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. An internal error occurred during: "Initializing Java Tooling". Eclipse启动发生的错误及解决办法

    1.关闭Eclipse.有时候不关闭eclipse 删除东西会引起其他莫名的错误. 2.删除 当前工作目录文件夹下的 /.metadata/.plugins/org.eclipse.core.reso ...

  2. ppp协议介绍(转)

    原文:https://www.cnblogs.com/gtarcoder/p/6259105.html PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP ...

  3. 利用VisualStudio单元测试框架举一个简单的单元测试例子

    本随笔很简单,不涉及mock和stub对象,而是只给出一个简单的利用Visual Studio单元测试框架的最简单例子.如果需要深入理解Unit Test的原理与艺术,请参考<The art o ...

  4. GC的时机

    说到JVM,GC(垃圾回收)是非常重要的机制. 那么首先的问题是: GC在什么时候会发生? GC的触发包括两种情况:1.程序调用System.gc()的时候.2.系统自身决定是否需要GC. 系统进行G ...

  5. 大量DOM操作的解决方案

    案例:如何在页面元素ul中一次性插入30000个li标签,保证页面体验流畅呢? 解决方案:可以从减少 DOM 操作次数.缩短循环时间两个方面减少主线程阻塞的时间 减少 DOM 操作次数的良方是 Doc ...

  6. NYOJ 数独 DFS

    数独 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一 ...

  7. Python3中urllib使用与源代码

    Py2.x: Urllib库 Urllin2库 Py3.x: Urllib库 变化: 在Pytho2.x中使用import urllib2---对应的,在Python3.x中会使用import url ...

  8. 推荐一款超级漂亮的HTML5 CSS3的图片轮播器

    最近在学习HTML5和CSS3,印象最深的是CSS3的动画功能,不仅有浏览器原生支持,执行效率高,而且免去在js中自己管理timer. 本来想写一个图片轮播器练练手,结果在网上发现一个国人写的开源的图 ...

  9. git之合并分支(git merge)------(三)

    最近几天写小demo,总是自己拉取他人的代码,然后创建分支,在自己的分支上进行修改,然后提交到自己的分支,具体的这一步,我就不多讲了,因为在我的博客“工作中常用的Git操作”中有详细的介绍,今天主要讲 ...

  10. php array转化为utf-8编码以便于转化为json数据

    php中转化为json时,字符串或数组编码必须为utf-8编码. 在网上找到了一个方法可以比较简单的转化,在此记录: 利用var_export()和eval()方法var_export():输出或返回 ...