20155117 王震宇 2006-2007-2 《Java程序设计》第四周学习总结
教材学习内容总结
继承(inheritance)
继承是面向对象软件技术当中的一个概念。继承可以使得子类别具有父类别的各种属性和方法,避免了重复的行为定义。在子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。另外,为子类别追加新的属性和方法也是常见的做法。 一般静态的面向对象编程语言,继承属于静态的,意即在子类别的行为在编译期就已经决定,无法在执行期扩充。
关键字extend用来继承父类。语句格式:
class 子类名 extends 父类名{}关键字super获取父类中的方法定义,引用父类的成分。
注意:private成员可以被继承,但是不能通过子类访问,要通过父类的非private方法访问。
多态和 is-a
子类只能继承一个父类。

检查语法的方式是从=号右边向左边读,右边类是不是左边类的子类。
强制类型转换,可以让程序通过编译
Role role1 = new SwordsMan()
SwordsMan swordsman = role1; //No
SwordsMan swordsman = (SwordsMan)role1; //Yes
多态:使用单一接口操作多种类型的对象。
接口关键字interface
@Override@Override不是关键字,但是可以把它当做关键字来使用。当你想要覆写某个方法时,可以添加这个注解。在不小心重载而非覆写了该方法时,编译器就会生成一条错误信息。- (1)可以当注释用,方便阅读;
- (2)编译器可以给你验证
@Override下面的方法是否是你父类中所有的,如果不是则报错。例如,你想重写父类中的某个方法,如果没写@Override,而你下面的方法又写错了,比如参数类型个数或者方法名不同,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。
public interface Swimmer
{
public void swim();
}
public abstract class Fish implements Swimmer
{
protected String name;
public Fish(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public abstract void swim();
}
public class Human implements Swimmer {
private String name;
public Human(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public void swim() {
System.out.printf("Human %s swim%n", name);
}
}
此时Human操作了Swimmer,但没有继承Fish。
- 继承有“是一种”的关系,操作接口表示“拥有行为”。
代码托管

这周代码分了好几个目录不想一一截图了。
上周考试错题总结
错题1:两个Integer对象比较大小,可以使用(comareTo())方法
java 中对象比较大小有两种方法
1:实现Comparable 接口 的 public int compareTo(T o) 方法;
2:实现Comparator 接口 的 int compare(T o1, T o2)方法;
错题2:“30”转化为byte类型的30的语句是Byte.parseByte(“30”);
错题3:可以使用java.util.Arrays的fill())方法把数组初始化成相同的值。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 0/0 | 2/2 | 20/20 | |
| 第二周 | 251/251 | 1/5 | 18/38 | |
| 第三周 | 651/902 | 1/6 | 10/48 | |
| 第四周 | 300/1400 | 1/7 | 10/58 |
参考资料
20155117 王震宇 2006-2007-2 《Java程序设计》第四周学习总结的更多相关文章
- 20155117王震宇 实验一《Java开发环境的熟悉》实验报告
(一)使用JDK编译.运行简单的java程序 命令创建实验目录 输入mkdir 2051117 创建以自己学号命名的文件夹,通过cd命令移动到指定文件夹,输入mkdir exp1创建实验文件夹. 打开 ...
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结
20155117王震宇 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的 ...
- 20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结
20155117 王震宇 2006-2007-2 <Java程序设计>第三周学习总结 教材学习内容总结 在JAVA程序编写中,常常要用到对象(Object),要产生对象首先要定义类(Cla ...
- 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结
<面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...
- 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈
对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...
- 《Java程序设计》第二学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- 20155318 2016-2017-2 《Java程序设计》第九学习总结
20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...
- 20155117王震宇 2006-2007-2 《Java程序设计》第二周学习总结
学号 2006-2007-2 <Java程序设计>第X周学习总结 教材学习内容总结 学习一门语言首先要熟悉基础的语法,注意不要和之前学过的语言知识混淆. java严格区分大小写. 教材学习 ...
随机推荐
- lintcode-394-硬币排成线
394-硬币排成线 有 n 个硬币排成一条线.两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止.拿到最后一枚硬币的人获胜. 请判定 第一个玩家 是输还是赢? 样例 n = 1, 返回 ...
- winform 弹出窗体指定位置
在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置: MainForm mainForm = new MainForm(); mainForm.StartPosition = Fo ...
- mysql的程序组成
MySQL的程序组成 1:客户端 mysql:客户端程序 mysqldump:mysql备份工具 mysqladmin:mysql管理工具 mysqlbinlog:二进制日志查询工具 2:服务端 my ...
- 0330复利计算java版
package compounding; import java.util.Scanner; public class compounding1_1 { public static void main ...
- 【vue】this与that 一个坑
[转载自]:https://blog.csdn.net/qq_30378229/article/details/78429374 在Vue中this始终指向Vue,但axios中this为undefi ...
- promise你懂了吗?
你能答对几题? 题目一 const promise = new Promise((resolve, reject) => { console.log(1) resolve() console.l ...
- Building microservices with ASP.NET Core (without MVC)(转)
There are several reasons why it makes sense to build super-lightweight HTTP services (or, despite a ...
- 使用JMeter代理录制app测试脚本
准备条件:JMeter.手机app 上一篇介绍过录制Web测试脚本的方式有两种,使用代理和使用第三方工具.本篇录制app测试脚本只讨论使用代理的方式,其他方式以后有机会再补充.其实Web和app使用代 ...
- [洛谷P5137]polynomial
题目大意:求:$$\sum\limits_{i=0}^na^{n-i}b^i\pmod{p}$$$T(T\leqslant10^5)$组数据,$a,b,n,p\leqslant10^{18}$ 题解 ...
- 关于在VWmare下安装Redhat
本文是小白博主自行摸索安装的过程,下文主要是给出几篇很有用的文章出处和自己遇到的问题. 一.关于安装包 对于安装包,个人建议是去官网下载(个人安装的是rhel 7.4),可能初接触Linux时,是不是 ...