学号 2016-2017-2 《Java程序设计》第X周学习总结

教材学习内容总结

  • 1.接口

    (1)使用关键字interface来定义一个接口,接口分为接口声明和接口体,例如
               interface Printable {
    final int MAX=100;
    void add();
    float sum(float x,float y);
    };
     (2)接口声明,格式如下  ```interface 接口的名字```
(3)接口体包含常量的声明和抽象方法,没有普通方法,而且接口体所有的常量的访问权限一定都是public,而且是static常量。
- 2.实现接口
(1)类实现接口 例如A类实现Printable和Addable接口 ```class A implements Printable,Addable```
例如Animal的Dog子类实现Eatable和Sleepable接口 ```class Dog extends Animal implements Eatable,Sleepable```
- 3.接口回调
(1)接口属于应用型变量,接口变量中可以存放实现该接口的类的实例的应用,即存放对象的引用
(2)接口回调表示可以把视线某一接口的类创建的对象的引用赋值给该类接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法
- 4.理解接口
(1)接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示
(2)可以把实现接口的的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法
- 5.接口与多态
(1)由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态
- 6.接口参数
如果一个方法的参数是接口类型,就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么该接口参数就可以回调类实现的接口方法
- 7.abstract类与接口的比较
(1) absrect类和接口都可以有abstract方法
(2)接口可以有常量,不能有变量,而abstract不可以有变量,而abstract类中既可以有常量,也可以有变量
(3)abstract类中也可以有非abstract方法,接口不可以
## 教材学习中的问题和解决过程
- 问题1:接口中为啥只有方法名称而没有方法体
- 问题1解决方案:接口,是调用者与被调用者通信方式,是某种行为的表现。接口可以相互继承,也可以继承多个接口。
但是类是不允许继承多个的。所以在某种情况下你需要某个特定类表现出几种行为能力时,你可以分别抽象出几种接口(能力),然后在调用时声明需要的接口,这样这个类可以体现多种能力。 ## [代码托管](https://gitee.com/tx20175230) (statistics.sh脚本的运行结果截图)
![](https://img2018.cnblogs.com/blog/1592136/201903/1592136-20190329195259021-1043576079.png)
![](https://img2018.cnblogs.com/blog/1592136/201903/1592136-20190329195309937-225944668.png) ## 上周考试错题总结
- 下列说法错误的是 正确答案: A D
A .继承的成员变量或方法的访问权限可以由子类重新定义。
B .若子类和父类不在同一包,子类只继承父类中的protected和public访问权限的方法作为子类的方法。
C .继承关系的UML类图用一个实线连接两个类,起始端是子类,重点端是父类,终点端使用空心三角形表示实线的结束。
D .如果在类本身创建一个对象,则该对象不可以通过“.”运算符访问继承的protected变量。
A项:继承后访问权限保持不变。
- 下列关于abstract关键字的说法,正确的是
A .可以使用static修饰abstract方法。
B .非abstract类中不可以有abstract方法。
C .不能使用new创建abstract类的对象。
D .不允许使用final和abstract同时修饰一个方法.
E .可以使用public abstract void eat(){};来声明抽象方法eat()。
F .抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。
正确答案: B C D F
A项:abstract关键字不能应用于static、private或final 方法。E项:不能有方法体。

Java第五周学习总结的更多相关文章

  1. 20165210 Java第五周学习总结

    20165210 Java第五周学习总结 教材学习内容 - 第七章学习总结 内部类: 内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. 内部类的类体中不可以声明类变 ...

  2. JAVA 第五周学习总结

    20175303 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 •使用关键字interface来定义一个接口,定义接口分包含接口声明和接口体. •接口体中包 ...

  3. 20165326 java第五周学习笔记

    第五周学习笔记 ch7 内部类(&外嵌类) 内部类的类体不可以声明类变量和方法 内部类如同类的变量或方法 内部类和外嵌类在编译时生成两个class文件 匿名类 某个类的一个子类没有明显的用类声 ...

  4. 20165221 JAVA第五周学习心得

    课本知识点 内部类与异常类 内部类:在一个类中定义另一个类 特点:外嵌类的成员在内部类仍然有效,内部类也可调用外嵌类的方法,内部类的类体不能声明类变量及类方法 非内部类不能是static类 匿名类:创 ...

  5. 2016-2017-2 20155309南皓芯java第五周学习总结

    教材内容总结 这一周学习的进度和前几周比较的话是差不多的,都是学习两章. 异常处理 1.理解异常架构 2.牚握try...catch...finally处理异常的方法 3.会用throw,throws ...

  6. 20165220 Java第五周学习总结

    教材学习内容总结 1.try—catch语句:Java用try—catch语句来处理异常.将可能出现的异常操作放在try中,当try出现异常时,此部分立刻结束运行,转向执行catch部分.一个try- ...

  7. 201521123093 java 第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 答:接口:1.所有的默认方法都是public abstract; 2.属性都是p ...

  8. #20175120彭宇辰 java第五周学习总结

    第六章 接口与实现 教材学习内容总结 接口-接口声名interace -接口体1.只有常量声明和抽象方法2.所有常量和方法的访问权限都为public3.常量都为static常量4.可省略pulic\s ...

  9. java第五周学习

    在Java中类与类之间的关系 1.聚合关系 : 两个类的关联程度较低,可以单独存在. 2.组合关系 : 两个的关联程度比较高. Java中如何来表现这个关系. 一类A作为属性存在类B中. 3.依赖关系 ...

随机推荐

  1. windows下vagrant的安装使用

    vagrant是简便虚拟机操作的一个软件,而使用虚拟机有几个好处: 1.为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时 ...

  2. 【SpringBoot笔记】SpringBoot如何正确关闭应用

    关闭Spring Boot应用程序,我们可以通过OS命令kill -9 进程ID 实现将进程杀死.但是,有没有一种更好的方式,比如通过REST请求实现?Spring Boot Actoator提供了实 ...

  3. JS中 confirm() 方法

    前言 环境: window 10,google 浏览器 测试代码 <html> <!-- 测试确定框,如果点 "是" ,则返回 true,这样就触发 a 标签的 ...

  4. AngularJS学习之旅—AngularJS 表单(十六)

    一.AngularJS 表单 AngularJS 表单是输入控件的集合. HTML 控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button ...

  5. java中的重写与重载

    重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...

  6. CENTOS重新安装JDK

    centos 删除默认安装的JDK 重新安装JDK 1.删除JDK 通过xshell工具成功连接安装好的虚拟机之后可通过    rpm -qa | grep java  或 rpm -qa | gre ...

  7. 【css】一行或者多行文字垂直水平居中

    1.方法一:使用css3弹性盒子(兼容IE10及以上浏览器,firefox,chrome,safari 5.1.7不支持) <!DOCTYPE html> <html> < ...

  8. 017_python常用小技巧

    一.进行十六进制运算 print(hex(int("6500000001", 16) - int("640064c6e7",16))) 0xff9b391a

  9. linux-高并发与负载均衡-lvs-功能配置介绍

    百度百科: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. ...

  10. Servlet开发笔记(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...