20165324《Java程序设计》第四周
学号 2016-2017-2 《Java程序设计》第四周学习总结
教材学习内容总结
第五章:子类与继承
- 子类的定义:
class 子类名 extends 父类名 { ... } - 子类继承性:子类继承父类的成员变量、方法。成员变量可以被子类中自己定义的任何实例方法操作;继承的方法可以被子类自己定义的任何实例方法调用。
- 子类继承性的分类
- 在同一个包中:子类自然的继承其父类不是private的成员变量和方法
- 不在同一个包中:子类只继承了其父类中的protected和public访问权限的成员变量和方法。
- 成员变量的隐藏和方法重写
- 成员变量的隐藏:编写子类时,声明的成员变量与父类继承来的成员变量一致,这时,子类就会隐藏所继承的成员变量。
- 方法重写:方法的类型与其父类一致;子类声明方法时,其方法的名字、参数个数、参数类型和父类一致。注意:重写方法时,不允许降低方法的权限,可以提高方法的权限。
- 访问限制修饰符按访问权限从高到低的排序为public、protected、友好的、private。
- super关键字:用super操作隐藏的成员变量和方法
super.*,当子类调用父类的构造方法时,必须使用super关键字调用。 - final关键字:修饰类、成员变量、方法中的局部变量;final关键字如果定义成员变量、局部变量则为常量
fianl double PI=3.1415326; - 继承与多态:多态性就是指父类的某个方法被子类重写时,可以各自产生自己的功能行为
- 对象的上转型对象:子类创建的对象引用到父类的对象当中,这时称对象a是对象b的上转型对象。
- abstract类和abstract方法:用关键字abstract修饰的类称为abstract类(抽象类);修饰的方法叫做抽象方法。
- abstract类中可以有abstract方法,也可以没有。
- abstract类不能用new运算符创建对象
- abstract类的子类:非abstract类是其子类,必须重写父类的abstract方法,并给出方法体;abstract类是子类时,可以重写,也可以继承父类的abstract方法。
- abstract类的对象作上转型对象
- abstract类只关心操作。
- 开闭原则:拓展开放,修改关闭。
第六章:接口与实现
- 接口:关键字interface来定义一个接口。分为接口声明,接口体。
interface Printable {
final int MAX=100;
void add();
float sum(float x,float y);
}
- 接口声明:关键字interface来声明为一个接口。
- 接口体:包含常量的声明和抽象方法。接口体中所有的常量的访问权限都是public,而且是static常量,所有的抽象方法是访问权限都是public
- 实现接口:
- 类实现接口:接口由类来实现以便使用接口中的方法。关键字implements声明该类实现一个或多个接口。如:
class A implements Printable,Addable - 重写接口中的方法:如果非抽象类实现了某个接口,那么必须重写这个接口的所有方法。注意接口中的方法一定是public abstract方法,所以类重写方法时去掉abstract修饰符、给出方法体、访问权限一定要用public来修饰
- 接口的UML层:第一层为名字层;第二层为常量层;第三层为方法层
- 接口回调:和类一样为重要的数据结构,接口声明的变量为接口变量;接口属于引用型变量,可以存放对象的引用。指针回调一词表示:一个变量的地址在某个时候存放在一个指针变量中,那么指针变量就可以间接操作该变量存放的数据。在Java中接口回调:可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量中,那么该接口就可以调用被类实现的接口方法
Com com; //Com为一个接口,com为其声明的一个变量
public class ImpleCom implements Com { ... }//ImpleCom类是实现Com接口的类
ImpleCom object = new ImpleCom();//用ImpleCom创建名字为object的对象,此时object对象可以调用ImpleCom类中原有的方法,还可以调用ImpleCom类实现的接口的方法。
com=object;//将object对象的引用赋值给com接口,此时,com变量可以调用类实现的接口方法(接口回调)
- 接口与多态:指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。
- abstract类与接口的比较
- 面向接口编程:抽象类将其抽象分的实现交给其子类;接口将其抽象方法的实现交给实现该接口的类。
- 使用接口进行程序设计的核心是接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。还体现了开-闭原则。
代码托管


学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 203/203 | 4/4 | 15/15 | |
| 第二周 | 326/529 | 2/6 | 12/27 | |
| 第三周 | 1000/1500 | 2/8 | 20/47 | |
| 第四周 | 800/2300 | 3/11 | 20/67 |
参考资料
20165324《Java程序设计》第四周的更多相关文章
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 20165324 2017-2018-2 《Java程序设计》课程总结
20165324 2017-2018-2 <Java程序设计>课程总结 每周作业链接汇总 预备作业1:20165324 我期望的师生关系 预备作业2:20165324 学习基础与C语言学习 ...
- 20165324 《Java程序设计》第九周学习总结
学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...
- 20165324 《Java程序设计》第八周学习总结
学号 20165324 <Java程序设计>第八周学习总结 教材学习内容总结 第十二章 Java多线程机制 进程与线程 进程是程序的一次动态执行过程:线程是比进程更小的执行单位 线程的状态 ...
- 20165324《Java程序设计》第七周
20165324<Java程序设计>第七周 教材学习内容总结 第11章 JDBC与MySOLz数据库 MySQL数据库管理系统,简称MySQL. 使用步骤: 启动MySQL数据库服务 器建 ...
- 20145213《Java程序设计》第四周学习总结
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...
- 20145330《Java程序设计》第四周学习总结
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...
- 20145337《Java程序设计》第四周学习总结
20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...
- 20145218 《Java程序设计》第四周学习总结
20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...
随机推荐
- ubuntu 解压命令全部
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)-------------------------- ...
- NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择)
NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择) NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底 ...
- 关于CSS 里的_width是什么意思???
下划线_IE6支持下划线,IE7和firefox等均不支持下划线. 你那个代码的意思就是IE6下面宽度 449px;其他浏览器下宽度 460px; 友情提醒:这种HACK写法,得把_width写在正常 ...
- 基于struts2框架文件的上传与下载
在开发一些社交网站时,需要有允许用户上传自己本地文件的功能,则需要文件的上传下载代码. 首先考虑的是文件的储存位置,这里不考虑存在数据库,因为通过数据库查询获取十分消耗资源与时间,故需将数据存储在服务 ...
- C#引用传递[转]
学过C#的人都知道,通过值或通过引用,值类型和引用类型都可以作为方法参数传递.在C#中,不管是值类型或者是引用类型,所有方法参数在默认情况下是通过值传递的. 1)通过值传递值类型 在通过值传递作为方法 ...
- UEditor API 文档
来源:http://www.e4dai.com/ueditor-api/#ue.editor http://www.e4dai.com/ueditor-api/ UE.Editor 依赖 editor ...
- linux基础教程---内容操作
一.寻找文件里的指定内容 寻找文件里的指定内容,输出内容所在行的所有信息 grep 被搜索内容 文件路径名 >grep var passwd //在 ...
- COCOS2D-X多层单点触摸分发处理方案?
如今的问题是点击button的时候,会触发底层的触摸事件,怎么不触发底层的触摸事件啊?
- shell脚本学习总结05--变量与环境变量
bash中一切变量都是以字符串的形式存储,env命令可以查看与此终端进程相关的环境变量. man bash 查看一个进程的环境变量 1.获得程序的PID,例如Java# pgrep java23492 ...
- Erlang语言学习入门
这是一个命令行程序,可以直接在里面输入表达式进行计算,例如来一个简单的: Erlang R15B01 (erts-5.9.1) [smp:4:4] [async-threads:0] Eshell V ...