学号 20175329 2018-2019-3《Java程序设计》第四周学习总结
学号 20175329 2018-2019-3《Java程序设计》第四周学习总结
教材学习内容总结
第五章
上周学习的第四章是体现了数据的封装,本章第五章主要是体现出对象的另外两个方面的重要内容:继承与多态。子类与父类
继承是一种由已有的类创建新类的机制。利用继承,可以先定义一个共有属性的一般类,根据该一般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为。如果子类和父类在同一个包中,那么子类自然地继承了父类中不是
pirvate的成员变量作为自己的成员变量,并且也自然地继承了父类中不是pirvate的方法作为自己的方法,继承的成员变量或方法的访问权限保持不变。子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量。instanceof运算符是Java独有的双目运算符,其左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。- 声明的成员变量的名字和从父类继承来的成员变量的名字相同,在这种情况下,子类就会隐藏所继承的成员变量。
- 子类对象以及子类对象定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。
- 子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量。
super关键字
子类如果隐藏了成员变量或者继承的方法,那么子类所创建的对象就不能调用被隐藏的方法,该方法的调用由关键字super负责。使用super调用父类的构造方法
final关键字
final类不能被继承,可以修饰类、成员变量和方法中局部变量。如果用于修饰父类中的一个方法,那么这个方法不允许子类重写。用于修饰常量在运行期间不允许再发生变化。- 对象上的上转型对象
- 上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。
- 上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类的继承方法或子类重新的实例方法。上转型对象操作子类继承的方法或子类重新的实例方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个实例方法后,当对象的上转型对象调用这个实例方法一定是调用了子类重写的实例方法。
- abstract
- abstract类中可以有abstract方法。
- 抽象类可以抽象出重要的行为标准,该行为标准用抽象的方法来表示。级抽象类封装了子类必须要有的行为标准。
- 抽象类声明的对象可以成为其子类的对象的上转型对象,调用子类重写的方法,体现了子类根据抽象类里的行为标准给出具体的行为。
教材学习中的问题和解决过程
- 问题1:刚开始对于
extent与super的使用方法以及远离不是很理解 解决方案:
extent的书写使用法方是子类与父类中的使用,对于这种使用如果画一个原理图会更好的理解,重新查看java学习的视频课后自己按照视频中划出来一个类似的图后类似于集合图一目了然。super由创建对象引用子类方法的过程,由于子类建立过程中回隐藏成员变量以及方法通过super方法可以调用被隐藏的变量。- 问题2:abstract与之前在学习第四章类与对象是多个java文件由一个Example文件调用混淆
解决方案:重新找出第四章的代码然后手动敲出第五章的代码然后再比较后查看概念发现
abstract是一个第四章的进一步延申,第四章中只是单纯的题到调用但是却没有说有哪些函数可以调用,但是使用abstrct在public前声明可以知道有哪些些类可以被调用创建对象,让一个程序更加完善也更加体现java程序的分工明确可以细化工程。
代码托管

上周考试错题总结
上周测试相比以前有一定的进步,至少能够按时完成老师布置的任务,这与自己课下做了更多的功夫有一定的关联,希望能够再接再厉,但是在布置平方数倒叙排序的时候自己的程序还是不够完善,不够简化,后来查资料发现应该可以调用import java.util.*的方式来直接进行平方排数。
心得体会
学习java也有一个月了这一个月学习了很多很新的概念对于编程有了更深层次的了解,作为高级语言相比C语言有很多的不同之处,但正是这些的不同之处可以让我们更加方便地通过机械语言编译一些程序去满足多种化的需求,我也希望自己能在java学习中下更大的决心与精力,让自己变得越来越好跟着娄老师学到更多的东西!
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000 | 15 | 400 | 目标能够运用自行开发Android |
| 第一周 | 10/10 | 2/2 | 10/10 | 初步熟悉JAVA以及语法区分与C的不同之处 |
| 第二周 | 100/100 | 3/3 | 35/35 | 语法知识 |
| 第三周 | 300/300 | 4/4 | 60/60 | 了解对象 |
| 第四周 | 800/800 | 5/5 | 80/80 | 学习到子类与父类 |
参考资料
Java学习笔记(第8版)-
《Java学习笔记(第8版)》学习指导
学号 20175329 2018-2019-3《Java程序设计》第四周学习总结的更多相关文章
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 学号 20175201张驰 《Java程序设计》第7周学习总结
学号 20175201张驰 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 String类能有效地处理字符序列信息,它的常用方法有: public int length()可 ...
- 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结
20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...
- 学号 20175201张驰 《Java程序设计》第8周学习总结
学号 20175201张驰 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 知识总结: 1.泛型类声明:可以使用"class 名称"声明一个类,例如:c ...
- 学号 20175201张驰 《Java程序设计》第6周学习总结
学号 20175201张驰 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 ·1.Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类 ...
- 学号 20175201张驰 《Java程序设计》第5周学习总结
学号 20175201张驰 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 ·1.接口的接口体中只可以有常量和abstract方法. ·2.和类一样,接口也是Java中一种重 ...
- 学号 20175201张驰 《Java程序设计》第4周学习总结
学号 20175201张驰 <Java程序设计>第4周学习总结 教材学习内容总结 第5章 继承:避免多个类间重复定义共同行为,用我们已经有的类,去创建新的类 任何子类都可以继承它的父类的成 ...
- #学号 20175201张驰 《Java程序设计》第3周学习总结
学号 20175201张驰 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 每个源文件里可以包含多个类,但只能有1个主类:类中可以包含变量和方法 变量有两种:实例变量和类变量 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...
- 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结
<面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...
随机推荐
- CSS样式—— 字体、元素的垂直水平居中
1.CSS样式与HTML中标签属性的区别: 标签的属性是采用 属性名=“属性值” 表示的 CSS样式是采用名值对 属性名:属性值: 表示的 2.内联元素(行内元素)与块元素 (1)内联元素及其特点: ...
- Python 捕捉traceback异常栈信息
捕捉traceback异常栈信息 by:授客 QQ:1033553122 相关函数简介 sys.exc_info() 返回包含3个元素(type, value, traceback)的元组,提供关 ...
- Android项目实战(五十):微信支付 坑总结
大部分APP必备需求,使用总结 Android接入文章在此:官方文档 文档很简单,Android分为四步: 1.后台配置 2.Android 内 注册appId 3.Android 内 调起支付 4. ...
- mac 苹果多版本jdk自由切换
场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...
- CSS之表格边框合并、兄弟标签外边距合并、父子标签的外边距合并
本文内容: 表格边框合并 兄弟标签外边距合并 父子标签的外边距合并 首发日期:2018-05-01 表格边框合并: 发生情况: 当设置了cellpadding="0" cellsp ...
- JS的判断字符/元素是否存在数组列表
python有in操作, 可以很方便的用于判断元素是否存在指定列表. JS的in操作是对象, 用于判断指定的属性在指定对象中是否存在. propNameOrNumber in objectName i ...
- SQL server 获得 表的主键,自增键
主键: @tableName --表名 @id ---表对应的id SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSIN ...
- Lua代码规范
以下规范,是在Unity中使用Lua做为开发语言,仅供参考. 1.格式规范 1. lua文件名统一小写,中间一律不加下划线分割 2. 类名首字母大写,多个词组成的类名,每个词的首字母大写,中间一律不加 ...
- SQL Server数据类型int、bigint、smallint、tinyint对比表
SQL Server数据类型int.bigint.smallint.tinyint对比表 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 ...
- LeetCode算法题-Nim Game(Java实现)
这是悦乐书的第203次更新,第213篇原创 01 看题和准备 你和你的朋友正在玩下面的Nim游戏:桌子上有一堆石头,每次你轮流去除1到3块石头. 移除最后一块石头的人将成为赢家. 你是第一个取出石块的 ...