20175204 张湲祯 2018-2019-2《Java程序设计》第四周学习总结

教材学习内容总结

-第五章子类与继承要点:

-子类与父类:
1.通过使用关键字extends来定义一个类的子类。
2.Object是所有类的祖先类。
-子类的继承性:
1.子类继承父类的成员变量作为自己的一个成员变量。
2.Java不支持多重继承,即子类只能有一个父类。
3.子类与父类在同一包中,子类继承了不是private的成员变量和方法。
4.子类与父类不在同一包中,子类只继承父类中的protected和public访问权限的成员变量和方法。
5.对象总是可以通过“.”运算符访问继承的或自己定义的protected变量和protected方法。
-子类与对象:
1.子类对象可以调用继承的方法,操作没有继承的成员变量。
-成员变量的隐藏和方法重写:
1.父类生成变量,子类生成对象,多态。
2.重写父类的方法时,不允许降低方法的访问权限,但可以提高访问权限。
3.访问限制修饰符按访问权限从高到低的排列顺序时public,protected,友好的,private。
-final关键字:
1.final类不能被继承,即不能拥有子类。
2.final修饰父类的一个方法,这个方法不被子类重写。
-abstract类:
1.对于abstract方法不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法。
2.对于abstract类,不能使用new运算符创建该类的对象。


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

-1.问题: 对子类和父类之间的调用关系不理解。
解决方案:通过网上搜索得知,(https://blog.csdn.net/tingguan/article/details/81220564
先有父类,再有子类,先析构子类,再析构父类。
第一,子类对象在创建时会首先调用父类的构造函数。
第二, 父类构造函数执行结束后,执行子类的构造函数。
第三, 当父类的构造函数有参数时,需要在子类的初始化列表中显示调用。
第四, 析构函数调用的先后顺序与构造函数相反。
继承的概念:面向对象中的继承指类之间的父子关系, 子类拥有父类的某些状态和行为,(子类复用了父类的功能或状态)。
继承有三种:public,protect,private
1:如果父类中的成员使用public修饰,子类无条件继承。需要被外界访问的成员直接设置为public
2:如果父类中的成员使用protected修饰,子类也继承,即使父类和子类不在同一个包中。 protected成员可以在本类和子类中被访问,但不能在外界被访问,访问权限介于public和private之间。
3:如果父类和子类在同一个包中,此时子类可以继承父类中缺省修饰符的成员。
4:如果父类中的成员使用private修饰,子类打死也都继承不到。private只能在本类中访问。
5:父类的构造器,子类也不能继承,因为构造器必须和当前的类名相同。


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

-1.问题:在编译第五章第13个例子时,显示正在尝试分配更低的访问权限。
解决方案:1.通过网上搜索(https://bbs.csdn.net/topics/390896997
2.父类方法用public修饰时,子类也用public修饰。


-代码托管(https://gitee.com/zyzgl/zyz


-其他

通过学习第五章相关内容,发现内容也较为抽象,对于父类与子类的关系不够理解,在子类复用父类的方法时一开始不能正确运用访问限制修饰符,没有理解符号对应访问权限的意思,在经过网上搜索之后有一个大概了解。在编写实验一所选题目时,发现自己独立编写程序的能力还是有所欠缺,对于语法还比较生涩,对于求素数问题也不够熟练。
还需要努力学习相关基础知识。

20175204 张湲祯 2018-2019-2《Java程序设计》第四周学习总结的更多相关文章

  1. 2018-2019-2 20175204 张湲祯 实验二《Java面向对象程序设计》实验报告

    2018-2019-2-20175204 张湲祯 实验二 <Java开发环境的熟悉>实验报告 实验二 Java面向对象程序设计 一.实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象 ...

  2. 20175204 张湲祯 2018-2019-2《Java程序设计》2

    20175204 张湲祯 2018-2019-2<Java程序设计>2 必做课下作业MyCP 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP ...

  3. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  4. 20175204 张湲祯 2018-2019-2《Java程序设计》第八周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第八周学习总结 教材学习内容总结 -第十五章泛型与集合框架要点: 一.泛型 1.泛型(Generics)的主要目的是可以 ...

  5. 20175204 张湲祯 2018-2019-2《Java程序设计》第七周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第七周学习总结 教材学习内容总结 -第八章常用实用类要点: 一.String类: 1.String类所在的包:java. ...

  6. #20175204 张湲祯 2018-2019-2《Java程序设计》第六周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第六周学习总结 教材学习内容总结 -第七章内部类与异常类要点: 一.内部类: Java支持在一个类中定义另一个类,这样的 ...

  7. #20175204 张湲祯 2018-2019-2《Java程序设计》第五周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第五周学习总结 教材学习内容总结 -第六章接口与实现要点: -接口: 1.使用关键字interface定义接口. 2.接 ...

  8. 20175204 张湲祯 2018-2019-2《Java程序设计》第三周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第三周学习总结 教材学习内容总结 -第四章类与对象要点: -面向对象语言三个特性:封装性:继承:多态: -类:1.类是组 ...

  9. 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...

随机推荐

  1. Oracle 史上最全近百条Oracle DBA日常维护SQL脚本指令

    史上最全近百条Oracle DBA日常维护SQL脚本指令 https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650281305&am ...

  2. Ubuntu16.04中php如何切换版本

    其实就是一条Linux命令,如下: sudo update-alternatives --config php 会出现下面选项: There are choices for the alternati ...

  3. openstack搭建之-cinder配置(12)

    一. base节点配置 mysql -u root -proot CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder ...

  4. docker(三) 镜像和容器常用命令

    一.镜像操作 1.搜索镜像 可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索. docker search 名称 docker search tomcat 2.拉取镜像 dock ...

  5. mybatis 使用resultMap实现表间关联

    AutoMapping auto mapping,直译过来就是自动映射,工作原理大概如下: 假设我们有一张表,表名为person,包含id,name,age,addr这4个字段 mysql> d ...

  6. HDU 3901 Wildcard

    题目:Wildcard 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3901 题意:给一个原串(只含小写字母)和一个模式串(含小写字母.?.* ,*号可替 ...

  7. Maven基础:Maven环境搭建及基本使用(1)

    1. Maven环境搭建 1.1 Maven简介 1.2 Maven下载及环境设置 Maven下载地址:http://maven.apache.org/download.cgi 当前下载版本:apac ...

  8. Linux下C语言生成可执行文件的过程

    在当前目录下创建一个C源文件并打开: touch test.c gedit test.c直接编译: gcc test.c -o test 分步骤编译: 1) 预处理    gcc -E test.c  ...

  9. linux 安装所有软件可以使用这个网站搜索RPM包

    #很方便很实用  强烈推荐 https://pkgs.org/

  10. kubernetes-kubeadm自动生成的证书过期的解决方法

    拉取kubernetes的源码: git clone https://github.com/kubernetes/kubernetes.git 切换版本: cd kubernetes &&am ...