第五章主要学习内容

1.子类的继承性:

(1)子类与父类在同一包中的继承性:子类自然地继承了其父类中不是private的成员变量作为自己的成员变量。

(2)子类与父类不在同一包中的继承性:子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量。

注意:当protected类型的变量使用时,只需要变量所在的子类与父类在同一包中即可,例如:类D 是类A的子类B 的子类C 的子类,只需要类A和类D在同一包中即可。

2.子类对象的特点:

子类创建对象时似乎浪费了一些内存,因为当用子类创建对象时,父类的成员变量也都分配了内存空间,但只将其中一部分作为分配给子类对象的变量,例如,父类中的private成员变量尽管分配了内存空间,也不作为子类对象的变量,当然他们也不是父类某个对象的变量,因为我们根本就没有使用父类创建任何对象。这部分内存似乎成了垃圾一样。但是,实际情况并非如此,我们需注意到,子类中还有一部分方法是从父类继承的,这部分方法却可以操作这部分未继承的变量。

3.(1)成员变量的隐藏:

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

子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量。

(2)方法重写:

重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其它方法,但无法操作被子类隐藏的成员变量和方法。如果子类想使用被隐藏的方法或成员变量,必须使用关键词super

重写父类的方法时,不允许降低方法的访问权限,但可以提高访问权限(访问限制修饰符按访问权限从高到低的排列顺序是public、protected、友好的、private)。

4.final关键字:

final类不能被继承,可以修饰类、成员变量和方法中局部变量。如果用于修饰父类中的一个方法,那么这个方法不允许子类重写。用于修饰常量在运行期间不允许再发生变化。

5.对象的上转型对象:

上转型对象不能调用对象新增的变量和新增的方法,可以调用隐藏的变量,继承的变量,继承或重写的方法

子类对象的上转型对象不能调用子类重写的父类的静态方法,只能调用父类的静态方法

6.super关键字:

当子类隐藏了继承的成员变量,子类的创建对象将不拥有该变量,变量将归super所拥有。

同样,子类一旦隐藏了继承的方法,方法的调用将由关键字super负责。

7.继承与多态:

(1)继承:父类中的变量和方法被子类调用进行操作

(2)多态:父类的方法被子类重写时,产生各自的功能行为

8.关键字abstract:

对于abstract方法,只允许声明,没有方法体。

不允许用final和static修饰abstract类或方法。

abstract类不能用new运算符创建对象。但该对象可以成为其子类对象的上转型对象调用子类重写的方法。

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

(1)不理解extent的使用方法。

解决方案:通过视频学习,发现画出原题来,会清晰很多。

(2)对书上关于面向抽象编程(5.10)的解释不理解。

解决方案:发现自己还是对概念不理解,也不理解编程思路和目的。通过仔细阅读书上的解释并结合视频讲解,对于这一块有了更清楚的理解。

代码托管

心得体会

  Java程序设计的课程需要自己结合视频和课本来自主学习,一些自己解决不了的问题可以来问老师,不过通常还是自己先斟酌一番,毕竟自己自主完成的还是记忆最为深刻的。我希望自己以后发现问题后不要急于问其他人,而是通过冷静下来再仔细看书,浏览视频,在网上查找,争取自己来解决问题。我利用了蓝墨云上发布的教学视频进行学习。感觉对自己的学习很有帮助,以后会有针对性多多观看这些教学视频。

上周错题总结

1.下列说法正确的是

A.在一个类的内部可以直接调用本类的对象,也可以使用关键字this来调用。

B.构造方法中使用this时,可以省略this,即将this.method()直接写成method()。

C.this不能出现在类方法中。

D.当实例成员变量的名字和局部变量的名字相同时,可以省略成员变量前的"this."和static变量前的"类名."。

正确答案:ABC

所选答案:C

解析:4.9节。D:当实例成员变量的名字和局部变量的名字相同时,不能省略成员变量前的"this."和static变量前的"类名."。

2.下列关于实例方法和类方法的叙述,正确的是

A.类方法不可以操作实例变量,因为在类创建对象之前,实例成员变量还没有分配内存。

B.当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。

C.实例方法不能通过类名调用,只能由对象来调用。

D.不必创建对象就可以用类名直接调用static方法。

正确答案:ABCD

所选答案:ABC

 

20175208 《Java程序设计》第四周学习总结的更多相关文章

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  3. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

  5. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. 【hbase】Unable to read additional data from client sessionid 0x15c92bd1fca0003, likely client has closed socket

    启动hbase ,验证出错 Master is initializing 查看zk日志,发现Unable to read additional data from client sessionid 0 ...

  2. SpringBoot------自定义拦截器

    1.添加pom.xml使用的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt ...

  3. Tomcat启动报错:This file is needed to run this program

    Tomcat版本为 8.5.29. 1.情景 kill调用tomcat进程后,重启tomcat报如下错误: Cannot find /usr/local/apache-tomcat-/bin/setc ...

  4. JavaScript通过递归合并JSON

    通过递归合并JSON: function mergeJSON(o, n) { let oType = Object.prototype.toString.call(o); let nType = Ob ...

  5. PHP异步请求之fsockopen()方法详解

    正常情况下,PHP执行的都是同步请求,代码自上而下依次执行,但有些场景如发送邮件.执行耗时任务等操作时就不适用于同步请求,只能使用异步处理请求. 场景要求: 客户端调用服务器a.php接口,需要执行一 ...

  6. 11.17 flask (1)

    2018-11-17 18:38:42 开始学习进行玩前面项目  开始进军flask flask是一个小型的web框架,,但是有很多第三方组件 最后组装组装就和django一样啦!!!!!!! pyt ...

  7. 赶鸭子上架的cdq分治

    前置技能:归并排序,树状数组. cdq分治主要是用来离线解决一些奇怪的问题的.可以用来代替一些高级数据结构比如树套树或者KD-Tree之类的... 话说挑战2上的KD-Tree我到现在还没开始学... ...

  8. Msf的一些常用操作

    payload的几个常用生成 生成windows下的反弹木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST=60.205.212.140 LPOR ...

  9. VS2013 Ctrl+Shift+F 没反应

    快捷键设定与搜狗输入法中文繁体切换冲突,搜狗输入法管理设置中关掉就好.

  10. windows安装tomcat

    1.打开官网http://tomcat.apache.org/ 2.在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的“ 64-bit Windows zip (pgp, m ...