20175314 《Java程序设计》第五周学习总结

教材学习内容总结

public接口可以被任意一个类实现,友好接口可被同一个包里的接口实现。

Java不支持多重继承,即一个类只能有一个父类;

为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口;

接口也可以通过extens来继承;

接口是抽象方法和常量值定义的集合,是一种特殊的抽象类;

接口中只包含常量和方法的定义,没有变量和方法的实现;

接口中的所有方法都是抽象的;

接口中成员的访问类型都是public;

接口中的变量默认使用public static final标识(可以在定义的时候不加此修饰,系统默认);

接口通过使用关键字interface来声明格式:interface 接口的名字,使用interface来定义一个接口。接口=接扣声明+接口体。接口体中只有常量(权限为public,且为static常量)和抽象方法(权限为public,为stract型),没有变量。

import语句可以引入包的类也可以引入包的接口。

通过类来实现接口:在类声明中使用关键字implements来声明一至多个接口。非抽象类实现了某个接口,一定要重写这个接口中的所有方法(要去掉abstract,体现public)。抽象类实现了某个接口,既可以重写,也可以不重写。

可以通过接口名来访问常量,也可以通过实现接口的类来直接使用。

接口回调:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。简单的说,接口回调就是为了能够调用某个接口中的方法。具体操作:类A实现接口B;A创建对象a;B声明变量b;b=a;

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

  • 问题1:课后编程题类名与文件名不同。
  • 问题1解决方案:把Application.java改为Example5_13.java或把类名改为Application。

接口中不能声明变量也不能定义非抽象方法;

接口中的变量不可以不指定初值;

可以在接口中只声明变量,不声明抽象方法;

允许接口只有一种抽象方法;

abstract和static不能同时出现;

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。

2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

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

  • 问题:
  1. 除了Test类,PC,CPU,HardDisk要实现多个构造方法,比如PC类要有PC(), PC(CPU cpu), PC(HardDisk HD), PC(CPU cpu, HardDisk HD)

  2. 除了Test类,PC,CPU,HardDisk要覆盖toString(), equals()方法

  3. Test类中要测试到所有类的toString(), equals()方法

代码托管

本周考试错题总结

  • 错题1

    原因:概念不清

    理解情况:接口体中包含常量定义和方法定义两部分;接口体只进行方法的声明,不允许提供方法的实现;方法的定义没有方法体,且用分号结尾。

  • 错题2

    原因:概念不清

    理解情况:
    1、接口是可以被接口继承的,即通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public,子接口将继承父接口中的全部方法和常量。

    2、抽象类可以实现接口,当一个类声明实现一个接口而没有实现接口中所有的方法,那么这个必须是抽象类,即abstract类。

    3、抽象类是可以继承实体类。

心得体会

本周章节课本上例题较少,内容上与上一章有很多衔接,但还是感觉学习较为艰难,因为涉及到了很多文件的内容,需要记下来的一些流的用法也不少。本周正式开始操作实验,开始使用IDEA,我现在对后来的Android开发实验很是期待希望能够编写自己的app出来,兴趣是最好的老师相信自己通过努力一定可以做到。

学习进度条

代码行数 博客量 学习时间 重要成长
目标 5000行 16篇 320小时
第一周 51/100 1/1 12/20 基本掌握了Linux的简单指令
第二周 173/200 1/1 18/20 学习了Java重要基本语法
第三周 672/800 1/1 18/20 学习了包含多个类的Java程序及类的包机制
第四周 436/600 1/1 12/20 学习程序父类和子类的继承规则
第五周 573/600 1/1 10/20 学习通过类来实现接口和接口回调
  • 计划学习时间:20小时

  • 实际学习时间:10小时

参考资料

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

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

  3. 20175314 《Java程序设计》第九周学习总结

    20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...

  4. 20175314 《Java程序设计》第二周学习总结

    20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...

  5. 20175314 《Java程序设计》第一周学习总结

    20175314 <Java程序设计>第一周学习总结   教材学习内容总结       除了学院统一购买的<Java 2 实用教程(第5版)>我还在网上买了一本<Head ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  10. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

随机推荐

  1. js中的Call()和apply()

    Call和apply,就是改变函数里面的this指向的方法. xxx.call()或xxx.apply() 特别强调下xxx必须是function,(普通函数,类,构造函数) var obj={ na ...

  2. Java+opencv实现人脸检测

    版本 Java1.8 opencv3.4 代码: import java.awt.Graphics; import java.awt.image.BufferedImage; import javax ...

  3. 前后端如何保持长连接?---websocket

    1. pc端的应用,一般会采用前端定时请求后台; 2. app定时去访问后台的话,对用户来说并不友好,会消耗大量的流量,移动端最好的方式就是后台主动向app推送信息; 3. H5提供了一种比较好的方式 ...

  4. EBS打补丁参考

    EBS Application打补丁参考:http://blog.csdn.net/cunxiyuan108/article/details/6009784 整体步骤: 0. 停止应用(注意确认FND ...

  5. 在linux中编译grpc

    环境: centos_7_x86_x64 一.下载 1)下载grpc源代码:grpc-1.2.0.zip 2)下载grpc依赖库: 1)benchmark-master.zip 2)boringssl ...

  6. Flask 框架

    装饰器知识回顾 http://www.cnblogs.com/0bug/p/7978595.html 普通装饰器格式: def wrapper(func): def inner(*args, **kw ...

  7. SQL注入检测

    目前只支持单个对象,不支持对象中包含对象 /// <summary> /// 检查SQL中的非法字符 /// </summary> public class SQLInject ...

  8. 自己动手开发智能聊天机器人完全指南(附python完整源码)

    一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...

  9. android 获取对权限的选择

    一般是第三方软件拦截,再次提示给用户,确认权限的,如360等.(PS 没有设置权限的app 是会崩溃的  ,而是不是弹出权限确认,因为你都没设置这个权限)看了网上很多,确切说没有一个适合我的. 其实用 ...

  10. IDEA—— 找不到或无法加载主类Main

    最近使用idea,编写了一个项目,发现老是找不到main,网上找了一大圈的解决方案,都不行.灵机一动升级了jdk就可以了,之前用的是1.7的,换成了1.8的就好了.