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. iOS CALayer 绘图模糊有锯齿的解决方案

    在CALayer中绘制图形会出现锯齿和模糊,同样绘图在UIView中就没有问题.经查资料发现不自动处理两倍像素的情况. 解决方案为:设置layer的contentsScale属性为[[UIScreen ...

  2. 单片机成长之路(51基础篇) - 002 STC单片机冷启动和复位有什么区别

    STC单片机简介 STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等.还支持I ...

  3. Centos7.4修改主机名HostName颜色及格式

    一.打开 .bashrc文件 1.位置:~(cd ~)目录下 2.cat .bashrc 原文件内容如下: # .bashrc # User specific aliases and function ...

  4. 微信小程序--data的赋值与取值

    通过小程序官方文档可知:Page() 函数用来注册一个页面.接受一个 object 参数,其指定页面的初始数据.生命周期函数.事件处理函数等.其中的参数data用来设置初始数据,WXML 中的动态数据 ...

  5. repo命令详解

    Android 为企业提供一个新的市场,无论大企业,小企业都是处于同一个起跑线上.研究 Android 尤其是 Android 系统核心或者是驱动的开发,首先需要做的就是本地克隆建立一套 Androi ...

  6. java.util.function 中的 Function、Predicate、Consumer

    函数式接口: 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但可以有多个非抽象方法的接口. 函数式接口可以被隐式转换为 Lambda 表达式. Function ...

  7. Java源码阅读的真实体会(一种学习思路)

    Java源码阅读的真实体会(一种学习思路) 刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈 ...

  8. 01Hadoop二次排序

    我的目的: 示例: 2012,01,01,352011,12,23,-42012,01,01,432012,01,01,232011,12,23,52011,4,1,22011,4,1,56 结果: ...

  9. 程序员自己编写的类和JDK类是一种合作关系。

    封装类: JAVA为每一个简单数据类型提供了一个封装类,使每个简单数据类型可以被Object来装载. 除了int和char,其余类型首字母大写即成封装类. 转换字符的方式: int I=10; Str ...

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

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