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

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解决方法:通过百度与自己对代码的调试大致理解上转型对象的意义与用途。
class  类人猿 {
   void crySpeak(String s) {
       System.out.println(s);
   }
}
class People extends 类人猿 {
   void computer(int a,int b) {
      int c=a*b;
      System.out.println(c);
   }
   void crySpeak(String s) {
      System.out.println("***"+s+"***");
   }
}
public class Example5_10 {
   public static void main(String args[]) {
      类人猿 monkey;
      People geng = new People();
      monkey = geng ;
      monkey.crySpeak("I love this game");
      People people=(People)monkey;
      people.computer(10,10);
   }
}

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

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

无法操作子类里的新方法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

原文地址:https://www.cnblogs.com/20175226wpy/p/10585295.html

时间: 2024-08-27 11:53:49

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

2019年java全栈工程师学习大全

我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临的问题.?我当时经常胡子眉毛一把抓,那会学习资料倒是不缺,学校图书馆啥都有,就是无从下手,后来有高人指导之后,进步就很快了. 精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,如果非要整个争个高下,我觉得没有必要. 自己喜欢的,才是最好的,我读书的时候就接过几百块钱的小活,没几个钱,要是跟人合作更没有赚头了,所以后来我一直在尝试全栈的路线,也一直在这条路上努力. 专精于某一方面

20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中的声明的变量所定义.对象的操作可能改变该对象的状态.对象的操作由 类中声明的方法定义. 类的分析:类的成员(类的数据和方法):构造方法(给类赋初值):实例数据(变量声明的位置定义其作用域):UML类图(类及其对象关系可视化描述). 封装:(1) 可见性修饰符:public(公有):private(私有,只能从

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

20165115 2017-2018-2 <Java程序设计>第四周学习总结 教材学习内容总结 第五章主要是围绕子类的继承展开,并在此基础上介绍了一系列的方法与关键字.第六章主要讲述的内容是接口的实现. 代码托管 上周考试错题总结 完成后补充 参考资料 Java学习笔记(第8版) <Java学习笔记(第8版)>学习指导 ... 原文地址:https://www.cnblogs.com/zcy20165115/p/8643294.html

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

20165318 2017-2018-2 <Java程序设计>第四周学习总结 IDEA安装 按照娄老师Intellj IDEA 简易教程,我下载了IDEA但是由于没有注册学校邮箱,我没办法申请免费使用,我在网上找到了IntelliJ Idea 2017 注册码 免费激活方法顺利安装并运行了IDEA. 教材学习总结 第五章 子类与继承 每个子类只能有一个父类,而一个父类可以有多个子类.可以使用关键字extends来定义一个类的子类: class 子类名 extends 类在不加extends关键

20172330 2017-2018-1 《Java程序设计》第四周学习总结

20172330 2017-2018-1 <Java程序设计>第四周学习总结 教材学习内容总结 这一周的内容还是比较多的,而且很复杂,包含第四和第七章. 第四章向我们介绍了类结构的定义与概念,同时举出了好多个例题向我们展示自定义类的方法与应用,对于方法定义的结构与用途进行了讨论:包括return语句,参数,局部数据等方面. 第七章的主要内容则是面向对象设计.通过书本的介绍了,我们探讨了面向对象软件设计的主要问题,了解了确定程序所需要的类和对象的技术,对类之间的关系进行了探讨,详细的学习了sta

20172325 2016-2017-2 《Java程序设计》第四周学习总结

20172325 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 1.对类.对象.声明变量的定义和属性有了进一步的了解 2.学会如何编写一个类并运用到需要的程序中 3.学习了形参和实参的概念和区别 4.修饰符的作用和运用,例如public和private 5.学习了静态类,例如静态方法和静态变量 6.关于封装的作用和运用 7.在面向对象的程序设计时需要做的必要步骤,包括需求.设计.实现和测试 8.对枚举类的进一步了解 9.学习了调用方法中的方法重载 10.UML类

20172319 2018.04.11 《Java程序设计教程》第7周课堂测验(补写博客)

20172319 2018.04.11 <Java程序设计教程>第7周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王志强 日期:2018.04.11 必修/选修:必修 目录 测试内容 测试要求 实验步骤 前期准备 需求分析 代码实现及解释 程序运行结果及代码截图 测试过程及遇到的问题 参考资料 测试内容 完成编程项目PP7.4:具体参考<java程序设计教程>(第八版) Compareble接口的实现 测试要求

张季跃 201771010139《面向对象程序设计(java)》第十四周学习总结

张季跃 201771010139<面向对象程序设计(java)>第十四周学习总结 第二部分:实验部分 1.实验目的与要求 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及常用API: 实验1: 导入第12章示例程序,测试程序并进行组内讨论. 测试程序1 l 在elipse IDE中运行教材479页程序12-1,结合运行结果理解程序: l 掌握各种布局管理器的用法: l 理解GUI界面中事件处理技术的用途. l 在布局管理应用代码处添加注释: 测试结果:   测

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

20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第一个字符不能是数字字符 标识符字母区分大小写 基本数据类型 boolen.byte.short.char.int.long.float.double 类型转换运算 级别高的变量赋值到级别低的变量时,必须强制转换 输入,输出数据 Scanner System.out.println.System.out.pri