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

教材学习内容总结

•用extends来定义一个类的子类。

•Object类是所有类的祖先类。

•如果子类和父类都在一个包中,那么子类自然地继承了父类中不是private的成员变量和方法作为自己的成员变量和方法,且成员变量和方法的访问权限不变。

•如果子类和父类不在一个包中,子类只继承父类中的protected和public访问权限的成员变量和方法。

•子类声明时,除了继承的和新声明成员变量分配了内存,父类中的友好变量和private变量虽不会继承,但也会分配内存,可以通过继承的父类的方法来操作父类中的友好变量和private变量。

•instanceof是java独有的双目运算符,左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象是,instanceof的运算结果是true,否则是false。

•所声明的成员变量的名字和从父亲继承来的成员变量的名字相同(声明的类型可以不同)时,子类就会隐藏所继承的成员变量。

•子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新申明的这个成员变量。

•子类对象仍然可以调用从父类继承的方法来操作被子类隐藏的成员变量。

•方法重写是指子类中定义一个方法,这个方法的类型和父类的方法的类型一致,或者是父类的方法的类型的子类型,并且这个方法的名字,参数个数,参数的类型和父类的方法完全相同。

•子类在重写可以继承的方法时,可以完全按照自己的意图编写新的方法体。

•子类不能继承父类的构造方法,子类在其构造方法中需要使用super来调用,父类的构造方法,而且super必须是子类构造方法中的头一条语句,如果子类的构造方法没有明显的指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。

•可以使用final将类声明为final类,final类不能被继承,不能有子类,如果用final修饰父类中的一个方法,那么这个方法不允许子类重写。如果成员变量或局部变量被修饰为final,那他就是常量,不能被再次赋值。

•对象的上转型对象的实体是子类负责创建的,同把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象。

•上转型对象不能操作子类新增的成员变量或方法,可以操作子类继承的成员变量和方法。

•可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类的属性和功能。

•多态性就是指不同的子类在重写父类的方法时可能产生不同的行为。

•用abstract修饰的类称为abstract类(抽象类),用abstract修饰的方法为abstract方法。

•abstract方法,只允许声明,不允许实现,即没有方法体,必须要被子类重写。

•abstract类可以有abstract方法,也可以没有;非abstract类不能有abstract方法。

•abstract不能用new运算符创建对象

•不允许用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法。

•抽象类给出的是重要的行为标准,但不给出具体行为。

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

1.例子6最开始不知道Integer是什么类,不知道t.intValue()的意思和方法。

后来经过问同学和网上查资料,了解到Integer是int的包装类,没有默认值。

intValue()是输出int型数据。

代码托管

考试错题总结

1.正确答案为C,子类继承的方法不能操作在子类新声明的成员变量,只能操作子类继承和隐藏的成员变量。D子类操作被子类隐藏的成员变量需要使用super关键字。

2.正确答案没有E,课本132页就用public和abstract一起修饰了getArea()方法。就选了E
知道做错题以后才发现,不能加花括号。

3.正确答案没有D,被子类隐藏的成员变量只能通过子类继承的方法来操作。

感悟

虽然课本上和视频上的绝大部分内容都能听懂,但如果让自己写程序,可能会以最简单的方式写出来,而不会用各种上转型对象,final修饰符,abstract修饰符等知识点。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 400小时  
第一周 0/0 0/0 20/20  
第二周 553/553 1/1 15/35  
第三周 940/1493 1/2 20/55  
第四周 551/2044 1/3 25/80  

JAVA 第四周学习总结的更多相关文章

  1. 20165210 Java第四周学习总结

    20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一 ...

  2. 20155327 java第四周学习笔记

    20155327 java第四周学习笔记 五六章知识整理 1子类与父类 父类是接口或者是抽象类,子类必须继承自父类. 2子类的继承性 在Java中,通过关键字extends继承一个已有的类,被继承的类 ...

  3. 20145304 Java第四周学习报告

    20145304<Java程序设计>第四周学习总结 教材学习内容总结 1.继承共同行为: 继承基本上就是避免多个类间重复定义共同行为,关键词为extends. 代码如下: //继承共同行为 ...

  4. 20165326 java第四周学习笔记

    第四周学习笔记 ch5 子类和父类 子类只能有一个父类 使用关键字extendsyclass 子类 extends 父类 系统默认的祖先类Object(java.lang包中) 继承:子类继承父类的方 ...

  5. 2016-2017-2 20155309南皓芯java第四周学习总结

    教材内容总结 这次我们学习的还是两章的内容,学习任务量跟上次比的话大体上来讲是差不多的. 继承与多态 继承 继承也符合DRY(Don't Repeat Yourself)原则 Role role1 = ...

  6. java第四周学习总结

    学号20145336 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承符合(Don't Repeat Yourself)原则,即在自己的代码中不要重复自己编写的信息,这在多 ...

  7. java第四周学习

    这一周学习的还是面向对象的方法和应用 Java中方法的使用和注意事项 如果没有返回值,就不允许通过return关键字返回结果 方法中不允许嵌套使用 Return返回值只允许返回一个值,不允许返回多个 ...

  8. 201521123093 java 第四周学习总结

    1.平面作业 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:1.类与方法的注释 2.super关键字代表的是父类,super.方法表示调用的是父类 2. ...

  9. Java第四周学习日记(绪)

    1.静态导入 作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本 ...

随机推荐

  1. 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

    POSIX 同步IO.异步IO.阻塞IO.非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下. ...

  2. PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

    微擎出错信息: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2054] Server s ...

  3. LeetCode 232:Implement Queue using Stacks

     Implement the following operations of a queue using stacks. push(x) -- Push element x to the back ...

  4. 关于python协程中aiorwlock 使用问题

    最近工作中多个项目都开始用asyncio aiohttp aiomysql aioredis ,其实也是更好的用python的协程,但是使用的过程中也是遇到了很多问题,最近遇到的就是 关于aiorwl ...

  5. [MySQL Status] Queries,Questions,read/s区别,Com_Commit和handle_commit

    Queries: 这个状态变量表示,mysql系统接收的查询的次数,包括存储过程内部的查询   Questions: 这个状态变量表示,mysql系统接收查询的次数,但是不包括存储过程内部的查询   ...

  6. Win2012R2 AD主域控登录密码忘记

    按照普遍的修改cmd.exe 的方法,还需要注意,DC主控制器修改密码需要在后面加上 /domain net user administrator 123 /domain

  7. Ubuntu安装Sqlite报错:No module named 'ConfigParser'

    安装命令:`sudo apt install sqlite` 原因,我把系统默认的python版本改为了python3 改为python2即可,用update-alternatives命令,见此文(方 ...

  8. 理解REST和RPC

    REST 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 网站开发,完全可以采用软件开发的模式.但是传统上,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究 ...

  9. C语言 · 求先序遍历

    算法训练 求先序排列   时间限制:1.0s   内存限制:256.0MB        锦囊1 后序的最后一个字母为根结点.   问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树 ...

  10. hdoj:2048

    #include <iostream> using namespace std; ]; ]; int main() { int C; a[] = ; a[] = ; b[] = ; b[] ...