20155220 2016-2017-2 《java程序设计》第四周总结
教材学习内容总结
第六章 继承与多态
继承
继承的基本原则是:
子类继承父类的所有成员变量(包括静态成员);
子类继承除父类构造方法外的所有成员方法(包括静态方法);
子类不能继承父类的构造方法,但在其构造方法中会隐含调用父类的默认构造方法。
Java的类继承关系形成一个树型结构,而不是网状结构。
多态
前提:把子类对象当成父类对象来看。
把子类对象当成父类对象来看时:只能调用父类中定义的属性和方法。
把子类对象当成父类对象来看时:如果子类覆盖了父类中的方法,则调用的是子类覆盖后的这个方法;但是如果调用属性时是调用父类的属性而并非子类的,所以尽量不要定义父子类同名的属性。
把父类强制转换成子类时,则调用的是子类中的方法。
封装
- 封装是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
继承语法细节
- Java中继承以关键字extends实现,即BaseClass extendsSubClass{}的形式实现导出类由BaseClass导出子类SubClass,子类可以在其接口中自动获取基类的方法而不论这些方法是否在子类中显示定义过;一方面,在子类中使用基类中的方法及对其进行修改都是可行的。
第七章 接口与多态
接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。
接口的数据成员,只允许被
public,static,final修饰。接口的方法成员,只允许被public,abstract修饰。类要操作接口,必须使用
impements关键字。可使用
interface来定义抽象的行为与外观,接口中的方法没有操作时,一定得是公开且抽象,此时可以省略public abstract。接口的使用必须通过子类,子类必须覆写全部抽象方法。一个子类虽然只能继承于一个父类,但可以同时实现多个接口。
教材学习中的问题和解决过程
- 问题:如何理解接口的多态性?
解答
- 接口的出现是为了更好的实现多态,而多态的实现不一定需要依赖于接口。多态一般有三种,即接口的多态,类的多态,方法的多态。接口跟类基本是一样,不同的类实现接口可以有不同的方式从而表现不同的行为,就是接口的多态性。
代码托管
上周考试错题总结
- 1、填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
错因:细节错误,将(“30”)表示成了(‘30’)。
- 2、判断:Java中类总会有默认构造方法。(X)
分析:构造和默认构造这两个类本质上是一样的,当没有提供构造方法时,编译器会自动加上一个默认的不带参数的构造方法。对于java而言,如果每个类中,你不些写构造方法,它都默认存在一个无参的构造方法。故本题错。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第二周 | 40/100 | 1/2 | 8/20 | |
| 第三周 | 100/150 | 1/3 | 18/38 | |
| 第四周 | 465/800 | 1/4 | 23/30 |
20155220 2016-2017-2 《java程序设计》第四周总结的更多相关文章
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。
这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的 ...
- 201671010127 2016—2017—2 Java学习周结
时间真是个最公平东西,只要能够好好地利用它,它可以为我们带来我们我们所想要的东西.学习Java已经有一周了,对于Java基础知识的认识也更进一步,对Java的兴趣也愈来愈浓.实现一个Java程序,主要 ...
- 2016-2017 2 20155335《java程序设计》第四周总结
# 20155335 <Java程序设计>第四周学习总结 ## 教材学习内容总结 继承,在本职上是特殊到一般的关系,即is—a关系,子类继承父类,表明子类是一种特殊的父类,并且具 ...
- 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈
对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...
- 20155220 2016-2017-2 《Java程序设计》第七周学习总结
20155220 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...
- 2017秋季面向对象程序设计(Java)教材、教学纲要、考核要求
教材简况 凯 S.霍斯特曼 (Cay S. Horstmann)(作者), 周立新(译者), Java核心技术(卷1):基础知识(原书第10版) , 2016年9月1出版 本书包括两卷,选做教材的是卷 ...
- 20155220 2016-2017-2 《Java程序设计》第六周学习总结
20155220 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 输入输出 10.1 InputStream OutputStream 数据有来源与目 ...
- 20155220 2016-2017-2 《Java程序设计》第九周学习总结
20155220 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用 ...
- 20165318 2017-2018-2 《Java程序设计》第四周学习总结
20165318 2017-2018-2 <Java程序设计>第四周学习总结 IDEA安装 按照娄老师Intellj IDEA 简易教程,我下载了IDEA但是由于没有注册学校邮箱,我没办法 ...
随机推荐
- 云端办公是 Office系统的未来方向么 ?
云端办公是 Office系统的未来方向么 ? 话说随着互联网,HTML技术,云计算等技术的发展,越来越多的应用已经迁移到云端, 以我们熟悉的电脑游戏为例,从单机游戏,到网络游戏,再到网页游戏,基本就是 ...
- 【LeetCode每天一题】Remove Duplicates from Sorted Array II(移除有序数组中重复的两次以上的数字)
Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twic ...
- POJ3690 Constellations
嘟嘟嘟 哈希 刚开始我一直在想二维哈希,但发现如果还是按行列枚举的话会破坏子矩阵的性质.也就是说,这个哈希只能维护一维的子区间的哈希值. 所以我就开了个二维数组\(has_{i, j}\)表示原矩阵\ ...
- weblogic之CVE-2016-0638反序列化分析
此漏洞是基于CVE-2015-4852漏洞进行黑名单的绕过,CVE-2015-4852补丁主要应用在三个位置上 weblogic.rjvm.InboundMsgAbbrev.class :: Serv ...
- multimap详讲
multimap和map的区别: 首先认识一下multimap和map的区别: 1> multimap不提供operator[ ]运算符.因为这个运算符的语义在同一个键可以保存多个 ...
- [转]OpenGL与CUDA互操作方式总结
一.介绍 CUDA是Nvidia推出的一个通用GPU计算平台,对于提升并行任务的效率非常有帮助.本人主管的项目中采用了OpenGL做图像渲染,但是在数据处理方面比较慢,导致帧率一直上不来.于是就尝试把 ...
- windows环境安装docker,并下载lamp镜像
1.PC系统:windows10专业版 2.开启Hyper-V 此电脑->右击->属性->控制面板主页->(查看方式为小图标)程序和功能->右上方启动或关闭windows ...
- Eclipse查看.properties文件中文乱码
在中文操作系统中,Eclipse中的Java类型文件的编码的默认设置是GBK,但是对Properties资源文件的编码的默认设置是ISO-8859-1.所以编辑Java文件中的中文不会出现问题,但编辑 ...
- linux 常用进程使用命令
查看进程占用pid ps aux | grep program_filter_word 杀死pid kill -
- wordpress安装(ubuntu+nginx+php+mariadb)
一. 环境 ubuntu12.04.4 nginx 1.6.0 mariadb 10.0 更新系统补丁 sudo apt-get update sudo apt-get dist-upgrade ...