20155302 2016-2017-2 《Java程序设计》第4周总结
20155302 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 有关类的继承的理解:类实现继承的格式:class 子类名 extends 父类名
- 类的继承有三方面的内容,一是父类变量与方法的继承,二是父类变量与方法的覆写或称之为重载,三是super与this的使用区别。
- 子类在继承父类中的方法与属性时,首先会执行父类中的构造方法,再执行子类中的构造方法。一般子类中隐含了super()语句(super主要的功能是完成子类调用父类中的内容)
- 使用extends来扩充行为,先继承再扩充。
- 覆写与重载:子类中的变量或方法,可以与父类中的一样,这时子类的变量与方法就“覆写”了父类的变量与方法,或称之为变量与方法的“重载”。
- super与this最大的区别是,super调用的是父类中的变量或方法,当子类继承了父类中的变量或方法时,this和super的作用一样。当子类的变量或方法覆写了父类中的变量或方法时,由于覆写时子类和父类的变量名称或方法名称是一样的,这时super就会去调用父类中的变量或方法,而this只能调用子类中的变量或方法。当然明确为private类型的变量与方法还是不能调用的。
- 多态的涵义:使用单一接口操作多种类型的对象。JAVA引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。
- 在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义。在重新定义父类中某个方法时,子类必须撰写与父类方法中相同的签署。
- 使用abstract标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。
- 子类如果继承抽象类,对于抽象方法有两种做法,一种是继续标示该方法为abstract(该子类因此也是一个抽象类,必须在class前标示abstract);另一种做法就是操作抽象方法。如果两种做法都没有实施,就会引发编译错误。
- 权限关键字:依权限小至大来区分,就是private、无关键字、protected与public,设计时要使用哪个权限,是依照经验或团队讨论而定,如果一开始不知道使用哪个权限,就先使用private,以后视需求再放开权限。
- 如果想取得父类中的方法定义,可以在方法调用前,加上super关键字,但可以使用super关键字调用的父类方法,不能定义为private(因为这就限定只能在类内使用)。重新定义方法时注意,对于父类中的方法权限,只能扩大不能缩小。
- 接口说明了“做什么”,而实现这个接口的类,也就是实现类需要说明“怎么做”。接口可以用于定义行为但不定义操作。类要操作接口,必须使用implements关键字,操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。
- enum中列举的常数,枚举类型实例:public static final。
教材学习中的问题和解决过程
自己在练习中尝试打了一个代码,结果出现了一些疑惑。
两次代码区别只有子类中是否打了“String name”这行代码,为什么有这行代码运行结果就是大写的“LOVE”没有就是小写的"love"???
由此我去百度查找了相关解释。
解答:Cat子类在不写String name的时候是继承了父类Animals的成员变量name; 这时在main函数中实例化Cat,调用构造函数Cat(String name),其中的this.name就是Animals父类中的name。所以a.name随着赋值而变化 而当子类中写了String name;的时候是父类中的成员变量在子类中重写,main函数调用构造函数,其中的this.name代表的是Cat类中重写的成员变量name,而不是父类中的name。所以a.name保持不变,仍然是大写的LOVE
代码托管
上周考试错题总结
- CH04 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
- 填空:System.out.println(52+25+””);的结果是(77)
- 填空:Linux Bash中,(grep )命令可以进行全文搜索。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 2/2 | 20/20 | |
第二周 | 140/160 | 2/4 | 18/38 | |
第三周 | 113/273 | 1/5 | 20/58 | |
第四周 | 335/608 | 1/6 | 20/78 |
20155302 2016-2017-2 《Java程序设计》第4周总结的更多相关文章
- 20155302 2016-2017-2 《Java程序设计》第九周学习总结
20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155328 2016-2017-2 《Java程序设计》第九周学习总结
20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...
- 20155216 2016-2017-2 《Java程序设计》第九周学习总结
20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...
- 20155320 2016-2017-2《Java程序设计》第九周学习总结
20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
随机推荐
- 关于Class类的getResource().getPath()方法
程序中配置文件如果放置在classes文件夹,那么我们就可以使用Class类的getResource().getPath()方法获取文件路径. 例如: String path = DBUtil.cla ...
- JVM线程状态,park, wait, sleep, interrupt, yeild 对比
---恢复内容开始--- JVM线程状态 NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED BLOCKED是等待获得对象锁 WAIT ...
- 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
因为要更新数据库加个表,远程桌面又无法连接...所以就远程到另外一台电脑,然后用navicat通过内网修改目标数据库. 一直用着navicat操作数据库,所以很速度的弄好然后新建连接进入数据库. 然而 ...
- 9、RabbitMQ-集成Spring
spring封装RabbitMQ看官网:https://spring.io/projects/spring-amqp#learn 开发时根据官网的介绍进行开发,具体的说明都有具体的声明 1.导入依赖 ...
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- python多线程练习
import threading from time import sleep,ctime def print1(): for i in range(10): print(i,end='') prin ...
- 多条件查询接收很多参数的时候要用Map接收。
好处是,以后修改查询条件的时候不用从接口,到实现类,到controller的参数都要修改, 假如加一个查询条件,只需要前端多传一个参数值,都用map<>键值对接收,只需要在 service ...
- 可视化编程中----cell的自适应高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ Joke ...
- LeetCode41.缺失的第一个正数 JavaScript
给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...
- 搭建springboot项目
1.搭建环境windows10+jdk1.8+eclipse4.8+maven 2.为了学习微服务架构学习搭建基础项目 3.分为两种搭建方式为maven项目和单独建立springboot项目(ecli ...