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. Jenkins安装卸载

    下载安装去Jenkins官网下载Jenkins,Centos的话会下载到.rpm安装文件 安装.rpm文件使用命令rpm -ivh **.rpm 安装完成之后使用命令rpm -qc jenkins查看 ...

  2. Jexus 5.4.6 on CentOS 6.6

    Mono 通过脚本安装 https://github.com/cjy37/linux-asp.net-installScript 版本 3.10 MongoDB 也可通过以上脚本安装 默认端口 270 ...

  3. vue前端知识点整理

    1. 说一下Vue的双向绑定数据的原理 vue 实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫持各个属性的 setter, ...

  4. 在新安装的Centos中安装python3.7 解决pip和yum问题

    首先要先安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-deve ...

  5. unicode、utf8、字符串字面值

    发现好多新人都不明白,或者说没有直观的感受,其实很简单. 简单的说,unicode是一种将全球文字都涵盖的字典 - 可以认为每个字符都有一个数字索引. 比如可以这样(假设):'a' 的索引是13,'我 ...

  6. python内建时间模块 time和datetime

    时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. ...

  7. Houdini技术体系 基础管线(二) :Heightfiled与UE4的无缝导入以及对World Composition的支持

    Authored by TraceYang 前言    传统的制作做比较真实大世界3D关卡地形时,通常的采用的方式是把HeightMap和SplatMap(Layer Mask)导入到引擎的地形系统里 ...

  8. 使用docker安装mysql服务

    使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker pull hub.c.163.com/library/mysql:5.7 2 重命名镜像名 dock ...

  9. GraphX学习笔记——可视化

    首先自己造了一份简单的社交关系的图 第一份是人物数据,id和姓名,person.txt 1 孙俪 2 邓超 3 佟大为 4 冯绍峰 5 黄晓明 6 angelababy 7 李冰冰 8 范冰冰 第二份 ...

  10. TIJ -- CountDownLatch

    1. 2. Class : CountDownLatchDemo package lime.thinkingInJava._021._007._001; import java.sql.Time; i ...