教材学习内容总结

继承(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程序设计》第四周学习总结的更多相关文章

  1. 20155117王震宇 实验一《Java开发环境的熟悉》实验报告

    (一)使用JDK编译.运行简单的java程序 命令创建实验目录 输入mkdir 2051117 创建以自己学号命名的文件夹,通过cd命令移动到指定文件夹,输入mkdir exp1创建实验文件夹. 打开 ...

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

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

  3. 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结

    20155117王震宇 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的 ...

  4. 20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

    20155117 王震宇 2006-2007-2 <Java程序设计>第三周学习总结 教材学习内容总结 在JAVA程序编写中,常常要用到对象(Object),要产生对象首先要定义类(Cla ...

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

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

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

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

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

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

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

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

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

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

  10. 20155117王震宇 2006-2007-2 《Java程序设计》第二周学习总结

    学号 2006-2007-2 <Java程序设计>第X周学习总结 教材学习内容总结 学习一门语言首先要熟悉基础的语法,注意不要和之前学过的语言知识混淆. java严格区分大小写. 教材学习 ...

随机推荐

  1. lintcode-420-报数

    420-报数 报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数.如下所示: 1, 11, 21, 1211, 111221, ... 1 读作 "one 1" -> ...

  2. 解决pciss_spc导入提示表空间不存在以及扩展失败的问题

    select NAME FROM USER$ ORDER BY NAME ; CREATE USER pciss IDENTIFIED BY pciss ; GRANT DBA TO pciss ; ...

  3. [学习]WireShark 的过滤功能

    1. 打开 wireShark 过滤显示 协议 比如显示arp协议 过滤栏输入arp即可 支持的协议类型 TCP UDP HTTP FTP ICMP SMTP等等 2. 过滤ip地址 ip.addr ...

  4. 转载:理解OAuth 2.0

    转载地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 作者: 阮一峰 日期: 2014年5月12日 OAuth是一个关于授权(autho ...

  5. day06 小数据池和编码

    一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = ...

  6. WebGL画一个10px大小的点

    WebGL程序在屏幕上同时使用HTML和javascript来创建和显示三维图形.WebGL中新引入的<canvas>元素标签,它定义了网页上的绘图区域. 由于<canvas> ...

  7. 个人博客开发-01-nodeJs项目搭建

    // window系统下 1.nodeJs 安装 nodeJs 安装 看  这里 , 先下载再下一步下一步就OK了,我的是在C盘里安装的. 安装完以后 按 win + R ,在弹出的小框框里输入 CM ...

  8. 802.1p 优先级与内部优先级的映射关系

    缺省情况下,所有华为 S 系列交换机的 802.1P 优先级 与内部优先级的映射关系是 一 样的,如表 10-3 所示.从中可以看出,这些交换机中 802.1p 优先级与内部优先级的缺省映射关系是按等 ...

  9. Period II FZU - 1901(拓展kmp)

    拓展kmp板题 emm...我比较懒 最后一个字母进了vector两个1  不想改了...就加了个去重... 哈哈 #include <iostream> #include <cst ...

  10. 使用adb录制手机屏幕视频

    adb shell screenrecord命令可以用来录制Android手机视频 screenrecord是一个shell命令,支持Android4.4(API level 19)以上,支持视频格式 ...