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

教材学习内容总结

  • 子类与父类

    • 格式class 子类名 extends 父类名
    • Object类是所有类的祖先类
  • 子类的继承性
    • 在同一包中子类会继承非private的成员和方法
    • 不在同一包中只会继承protected和public的成员和方法
  • 成员变量的隐藏
    • 子类可会将同自身变量名字相同的继承变量隐藏
    • 子类继承方法只能操作子类继承或隐藏的变量
    • 子类新定义的方法不能操作隐藏的成员变量
  • 方法重写
    • 子类中定义一个与父类方法完全相同的方法即可进行方法重写
    • 重写方法无法操作被子类隐藏的成员变量和方法
    • 重写是不能降低访问权限
  • super关键字
    • 操作被隐藏的成员变量和方法、调用父类的构造方法
  • final关键字
    • final类不能被继承,不能有子类
    • final修饰的方法不能被子类重写
    • final修饰的变量为常量,运行期间不允许发生变化
  • 上转型对象
    • 操作子类继承方法或重写的实例方法
  • 多态性父类的某个方法被多个子类重写时,可以各自产生各自的功能行为
  • abstract类与abstract方法
    • 对于此方法只允许声明,不允许实现
    • 此类不能用new运算符创建对象,但该对象可以成为其子类对象的上转型对象

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

  • 问题1:118页weight变量隐藏时类型变了,但121页为什么computer类型变化后编译错误
  • 问题1解决方法:通过询问同学发现是自己弄混了变量与方法在继承上的定义
    • 变量隐藏只需要继承变量的名字相同,声明类型可以不同
    • 在方法重写时不仅名字要相同,方法名字,参数个数,参数类型都要相同即父类中为float computer(float x,int y,char z)子类重写时不能为double computer(float x,char z)

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

  • 问题1:看不透5_10的上转型对象?
  • 问题1解决方法:通过百度与自己对代码的调试大致理解上转型对象的意义与用途。
  1. class 类人猿 {
  2. void crySpeak(String s) {
  3. System.out.println(s);
  4. }
  5. }
  6. class People extends 类人猿 {
  7. void computer(int a,int b) {
  8. int c=a*b;
  9. System.out.println(c);
  10. }
  11. void crySpeak(String s) {
  12. System.out.println("***"+s+"***");
  13. }
  14. }
  15. public class Example5_10 {
  16. public static void main(String args[]) {
  17. 类人猿 monkey;
  18. People geng = new People();
  19. monkey = geng ;
  20. monkey.crySpeak("I love this game");
  21. People people=(People)monkey;
  22. people.computer(10,10);
  23. }
  24. }

其中monkey就是上转型对象,其可以操作子类的继承重写的方法如

  1. void crySpeak(String s) {
  2. System.out.println("***"+s+"***");
  3. }

无法操作子类里的新方法void Computer需要通过People people=(People)monkey;进行转化

[参考网站](https://zhidao.baidu.com/question/98125050.html)

[代码托管](https://gitee.com/wpyzka/20175226/tree/master/src/ch5)

上周错题总结

  • 错题1:

    下列说法正确的是

    A .如果想在方法中使用被隐藏的成员变量,可以使用关键字super。

    B .double类型的成员变量的默认值为0,局部变量没有默认值。

    C .对成员变量的赋值操作只能放在方法中。

    D .面向对象语言中的“类”相当于C语言中的“函数”。

    解析:

    A项:应使用关键字this。B项:double类型的成员变量的默认值为0.0。D项:面向对象语言中的“方法”相当于C语言中的“函数”。
  • 错题2:

    下列关于参数传值的说法,错误的是

    A .对象调用方法时,参数变量必须有具体的值。

    B .方法如果改变参数的值,向参数传值的变量的值也会改变。

    C .可以向int型变量传递一个short值。

    D .如果改变参数变量所引用的实体,原变量的实体会发生同样的变化。

    E .对于可变参数,如一个参数代表x,那么x.length等于x所代表的参数的个数。

    解析:

    方法如果改变参数的值,不会影响向参数“传值”的变量的值。

学习进度条

计划学习时间:20小时

时间学习时间:18小时左右

代码行数:425/1007

20175226 2018-2019-2 《Java程序设计》第四周学习总结的更多相关文章

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

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

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

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

  3. 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Redhat6.4安装Oracle 11gr2 64位 注意事项

    安装步骤略, 安装步骤参考:https://www.cnblogs.com/jhlong/p/5442459.html 注意的是,会出现找不到一些依赖库,我根据光盘已有的库安装了所有64位的依赖库,强 ...

  2. HDU 3901 Wildcard

    题目:Wildcard 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3901 题意:给一个原串(只含小写字母)和一个模式串(含小写字母.?.* ,*号可替 ...

  3. Spring Security 无法登陆,报错:There is no PasswordEncoder mapped for the id “null”

    编写好继承了WebSecurityConfigurerAdapter类的WebSecurityConfig类后,我们需要在configure(AuthenticationManagerBuilder ...

  4. [模板] 最近公共祖先/lca

    简介 最近公共祖先 \(lca(a,b)\) 指的是a到根的路径和b到n的路径的深度最大的公共点. 定理. 以 \(r\) 为根的树上的路径 \((a,b) = (r,a) + (r,b) - 2 * ...

  5. 解决Docker安装MySQL不区分大小写问题

    Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...

  6. BZOJ 3456: 城市规划 与 多项式求逆算法介绍(多项式求逆, dp)

    题面 求有 \(n\) 个点的无向有标号连通图个数 . \((1 \le n \le 1.3 * 10^5)\) 题解 首先考虑 dp ... 直接算可行的方案数 , 容易算重复 . 我们用总方案数减 ...

  7. 「CF1154F」Shovels Shop【背包DP】

    题目链接 [洛谷传送门] 题解 非常简单的背包. \(f[i]\)表示购买\(i\)个物品所需要最少的花费. 不考虑免费的限制条件,那么一定是选择前\(k\)个双鞋子. 那么加入免费的条件,那么还是要 ...

  8. pc安装完成charles成功,小米安装crt证书失败

    问题描述: 今天在学习爬虫爬取APP内容时,需要安装crt证书.根据静谧大大的书,前面都挺顺利的.但在我的小米手机上安装crt证书时,出现了错误.手机显示无法安装. 解决之道: 1.不要用小米手机自带 ...

  9. Zsh安装及常用操作

    Zsh因为插件丰富而闻名,但是 zsh 的默认配置及其复杂繁琐,让人望而却步,直到有了oh-my-zsh这个开源项目,让zsh配置降到0门槛.而且它完全兼容 bash. 安装Zsh: [root@lo ...

  10. request param 获取

    通过request对象获取客户端请求信息 getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方法返回请求行中的资源名部分. getQueryString 方法 ...