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

教材学习内容总结

这一周在上一周的基础上更进一步,主要学习了子类的继承、super关键字的用法含义、继承与多态、抽象类等知识点。

  1. 对于子类的继承,就像字面上的意思所描述的,子类可以继承所有父类的公有方法和公有变量。存在以下的注意事项:

    • 重写方法不能比被重写方法限制有更严格的访问级别。
    • 在java中只存在单继承,无法实现多继承,但是可以实现逐级继承
    • 在任何一个方法中,super语句都必须放在首句。如果父类中不存在不带参的构造方法,则子类需要进行显示调用。
  2. super关键字的用法和this存在一定的相似性
    • 在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数。如果你想引用父类的某种东西,则非super莫属。
  3. 在学习abstract时看到的几点需要注意的细节:
    • 如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象的函数。
    • 如果一个类出现了抽象的函数,那么该类也必须使用abstract修饰。
    • 如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法全部实现。
    • 抽象类可以存在非抽象方法,也可以存在抽象的方法, 抽象类可以不存在抽象方法。
    • 抽象类是不能创建对象的。
    • 抽象类是存在构造函数的,其构造函数是提供给子类创建对象的时候初始化父类的属性的。

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

  • 问题1:为什么抽象类不能创建对象呢?
  • 问题1解决方案: 因为抽象类是存在抽象方法的,如果能让抽象类创建对象的话,那么使用抽象的对象,调用抽象方法是没有任何意义的。
  • 问题2:对于方法定义public和定义为空有什么区别?
  • 问题2解决方案:存在三种访问权限:public:可以被任意实体访问protected。只允许子类及本类的成员函数访问private。只允许本类的成员函数访问

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

  • 问题1:之前在看书时发现了一个问题并在蓝墨云班课上提问,“为什么子类定义的对象可以调用父类的私密变量”最后得到了同学的解答。
  • 问题1解决方案:通过自己对知识的进一步了解,得到了同学的解答。

[代码托管]

https://gitee.com/H2742/HelloWorld

图片截图

上周考试错题总结

  • 错题1

    上周课堂测试时考察了我们对如何输入变量的理解,我只是在书上看到过类似的句子,但也并没有见过太多次,更没有可以地去记忆,因此在课堂上测试时没有做出来对应的题目。于是我在课后翻了翻有关输入变量的博客,才对这个知识点有所了解。

    其中,java没有提供诸如C/C++中的scanf输入函数,因此从键盘输入并不是一个简单的事情,为了方便起见,我们编写了一个名为SimpleInput的类,包含三个方法ReadDouble(),ReadInt(),和ReadString();他们分别从键盘输入浮点数,整数和字符串。

其他(感悟、思考等,可选)

这周上课的考试让我学到了许多东西,我开始就只会自己输入输出变量,但这是远远不够的。这周的测试告诉了我们要能够编写出存在让用户输入和结果输出的一个程序,因此我仔细地学习相关的内容。这周我在看书的同时,对于一些比较艰涩难懂的知识点我也增加了一些看视频的过程。我通过查询相关的博客以及看老师提供的视频以及自己找到的一些视频来了解这些知识。但是最重要的还是自己动手去编写这些程序,我认为自己在这一点方面做的还是有所欠缺,可能由于时间比较有限,自己始终没有能够很好的完成这一点。所以我希望自己在之后的学习中能够在学习视频的基础上,能够增加自己编写程序的练习。

20175311 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. docker查看挂载目录Volume

    使用docker inspect命令查看container的volume信息,按照书本上面敲,发现一直报错: 使用命令如下: sudo docker inspect --format "{{ ...

  2. 如何开发NPM包

    创建包目录 D:\>mkdir mypackage && cd mypackage D:\mypackage>npm init --yes 进入mypackage目录,你会 ...

  3. python基础—字符串的常用函数“”

    #字符串常用语法name = "wang yan li"print(name.capitalize())#首字母大写print(name.count("n")) ...

  4. 在Java中用 . 深层访问JSON数据

    本文介绍Java中解析JSON的一种方法,可以让我们在Java程序中也用x.x.x的形式访问JSON数据中的值. 代码大部分来源非本人,本人在源代码基础上加以修改以使正常运行. 代码: // 将提取方 ...

  5. C#自定义事件模拟风吹草摇摆

    这是一个自定义事件的例子.C#.WinForm.Visual Studio 2017.在HoverTreeForm中画一块草地,上面有许多草(模拟).HewenqiTianyi类模拟天气,会引发“风” ...

  6. Dapp混合模型开发--Dice2win的解读

    前言: 之前讲到Dapp原生态对随机函数的支持并不友好, 现在讲讲一种解决思路. 既能保证随机函数的不可预测性, 又能保证公平性, 平台和玩家都能满意. 而Dapp中的Dice2Win实现, 刚好是其 ...

  7. linux下mysql的启动与关闭

    1.查看mysql版本 方法一:status; 方法二:select version(); 2.Mysql启动.停止.重启常用命令 a.启动方式 1.使用 service 启动: [root@loca ...

  8. MySQL 报错 1093

    [Err] 1093 - You can't specify target table 'user' for update in FROM clause 报错的sql如下: delete from ` ...

  9. scss初学小结(转阮一峰老师SASS用法指南http://www.ruanyifeng.com/blog/2012/06/sass.html)

    1.安装 SASS是Ruby语言写的,但是两者的语法没有关系.不懂Ruby,照样使用.只是必须先安装Ruby,然后再安装SASS. 假定你已经安装好了Ruby,接着在命令行输入下面的命令: gem i ...

  10. Python项目依赖并生成requirements.txt

    一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtualenv环境,还好办 pip ...