20175303 2018-2019-2 《Java程序设计》第四周学习总结

教材学习内容总结

•用extends来定义一个类的子类。

•Object类是所有类的祖先类。

•如果子类和父类都在一个包中,那么子类自然地继承了父类中不是private的成员变量和方法作为自己的成员变量和方法,且成员变量和方法的访问权限不变。

•如果子类和父类不在一个包中,子类只继承父类中的protected和public访问权限的成员变量和方法。

•子类声明时,除了继承的和新声明成员变量分配了内存,父类中的友好变量和private变量虽不会继承,但也会分配内存,可以通过继承的父类的方法来操作父类中的友好变量和private变量。

•instanceof是java独有的双目运算符,左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象是,instanceof的运算结果是true,否则是false。

•所声明的成员变量的名字和从父亲继承来的成员变量的名字相同(声明的类型可以不同)时,子类就会隐藏所继承的成员变量。

•子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新申明的这个成员变量。

•子类对象仍然可以调用从父类继承的方法来操作被子类隐藏的成员变量。

•方法重写是指子类中定义一个方法,这个方法的类型和父类的方法的类型一致,或者是父类的方法的类型的子类型,并且这个方法的名字,参数个数,参数的类型和父类的方法完全相同。

•子类在重写可以继承的方法时,可以完全按照自己的意图编写新的方法体。

•子类不能继承父类的构造方法,子类在其构造方法中需要使用super来调用,父类的构造方法,而且super必须是子类构造方法中的头一条语句,如果子类的构造方法没有明显的指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。

•可以使用final将类声明为final类,final类不能被继承,不能有子类,如果用final修饰父类中的一个方法,那么这个方法不允许子类重写。如果成员变量或局部变量被修饰为final,那他就是常量,不能被再次赋值。

•对象的上转型对象的实体是子类负责创建的,同把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象。

•上转型对象不能操作子类新增的成员变量或方法,可以操作子类继承的成员变量和方法。

•可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类的属性和功能。

•多态性就是指不同的子类在重写父类的方法时可能产生不同的行为。

•用abstract修饰的类称为abstract类(抽象类),用abstract修饰的方法为abstract方法。

•abstract方法,只允许声明,不允许实现,即没有方法体,必须要被子类重写。

•abstract类可以有abstract方法,也可以没有;非abstract类不能有abstract方法。

•abstract不能用new运算符创建对象

•不允许用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法。

•抽象类给出的是重要的行为标准,但不给出具体行为。

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

1.例子6最开始不知道Integer是什么类,不知道t.intValue()的意思和方法。

后来经过问同学和网上查资料,了解到Integer是int的包装类,没有默认值。

intValue()是输出int型数据。

代码托管

考试错题总结

1.正确答案为C,子类继承的方法不能操作在子类新声明的成员变量,只能操作子类继承和隐藏的成员变量。D子类操作被子类隐藏的成员变量需要使用super关键字。

2.正确答案没有E,课本132页就用public和abstract一起修饰了getArea()方法。就选了E
知道做错题以后才发现,不能加花括号。

3.正确答案没有D,被子类隐藏的成员变量只能通过子类继承的方法来操作。

感悟

虽然课本上和视频上的绝大部分内容都能听懂,但如果让自己写程序,可能会以最简单的方式写出来,而不会用各种上转型对象,final修饰符,abstract修饰符等知识点。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 400小时  
第一周 0/0 0/0 20/20  
第二周 553/553 1/1 15/35  
第三周 940/1493 1/2 20/55  
第四周 551/2044 1/3 25/80  

JAVA 第四周学习总结的更多相关文章

  1. 20165210 Java第四周学习总结

    20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一 ...

  2. 20155327 java第四周学习笔记

    20155327 java第四周学习笔记 五六章知识整理 1子类与父类 父类是接口或者是抽象类,子类必须继承自父类. 2子类的继承性 在Java中,通过关键字extends继承一个已有的类,被继承的类 ...

  3. 20145304 Java第四周学习报告

    20145304<Java程序设计>第四周学习总结 教材学习内容总结 1.继承共同行为: 继承基本上就是避免多个类间重复定义共同行为,关键词为extends. 代码如下: //继承共同行为 ...

  4. 20165326 java第四周学习笔记

    第四周学习笔记 ch5 子类和父类 子类只能有一个父类 使用关键字extendsyclass 子类 extends 父类 系统默认的祖先类Object(java.lang包中) 继承:子类继承父类的方 ...

  5. 2016-2017-2 20155309南皓芯java第四周学习总结

    教材内容总结 这次我们学习的还是两章的内容,学习任务量跟上次比的话大体上来讲是差不多的. 继承与多态 继承 继承也符合DRY(Don't Repeat Yourself)原则 Role role1 = ...

  6. java第四周学习总结

    学号20145336 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承符合(Don't Repeat Yourself)原则,即在自己的代码中不要重复自己编写的信息,这在多 ...

  7. java第四周学习

    这一周学习的还是面向对象的方法和应用 Java中方法的使用和注意事项 如果没有返回值,就不允许通过return关键字返回结果 方法中不允许嵌套使用 Return返回值只允许返回一个值,不允许返回多个 ...

  8. 201521123093 java 第四周学习总结

    1.平面作业 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:1.类与方法的注释 2.super关键字代表的是父类,super.方法表示调用的是父类 2. ...

  9. Java第四周学习日记(绪)

    1.静态导入 作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本 ...

随机推荐

  1. Visual Studio进行Web性能测试- Part I

    Visual Studio进行Web性能测试- Part I 2012-08-29 08:01 by 知平软件, 5356 阅读, 9 评论, 收藏, 编辑 原文作者:Ambily.raj Visua ...

  2. 设置 WPF 的内容支持触摸直接滚动

    在滚动内容上设置属性 ScrollViewer.PanningMode 的值即可. 另外可重写 OnManipulationBoundaryFeedback 方法来替换系统默认的滚动到最上最下时触发的 ...

  3. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  4. tensorflow 笔记13:了解机器翻译,google NMT,Attention

    一.关于Attention,关于NMT 未完待续... 以google 的 nmt 代码引入 探讨下端到端: 项目地址:https://github.com/tensorflow/nmt 机器翻译算是 ...

  5. curl 模拟请求

    https://www.jianshu.com/p/7965c56c5a2e ********************************************* 一般情况下我们会在网页上请求后 ...

  6. Python之turtle画同心圆和棋盘

    画饼图 import turtle t = turtle.Pen() for i in range(5): t.penup() t.goto(0, -i*30) t.pendown() t.circl ...

  7. QT信号/槽

    在我的理解中,QT和Android都是类似的开发框架,都是由开发团队封装了各式各样的接口和数据结构.将一些问题的解决方法简单化比如QT中将线程封装为QThread,派生类通过重写run方法来将代码投入 ...

  8. Deepin 系统下安装VMware并激活

    1.打开深度商店:搜索VMware,并下载安装. 2.打开启动器:点击VMware-install. 3.填写管理员密码. 4.下一步,完成安装. 5.打开VMware Workstation,输入密 ...

  9. linux清理日志脚本

    1.删除日志的命令 find 目录路径 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例如:#!/bin/bash find /usr/loc ...

  10. 巴塞罗那VS皇家马德里

    刚刚看完巴萨VS皇马的比赛,跌宕起伏,悬念保持到了最后一分钟的最后一回合 ---- 梅西绝杀. 工作之后,很少看比赛了.一直觉得梅西.C罗双子星的时代正在接近尾声,自己要尽量看一场少一场,免得到时后悔 ...