Java第五周学习总结

Wesley13
• 阅读 805

学号 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解决方案:接口,是调用者与被调用者通信方式,是某种行为的表现。接口可以相互继承,也可以继承多个接口。 但是类是不允许继承多个的。所以在某种情况下你需要某个特定类表现出几种行为能力时,你可以分别抽象出几种接口(能力),然后在调用时声明需要的接口,这样这个类可以体现多种能力。

    代码托管

    (statistics.sh脚本的运行结果截图) Java第五周学习总结 Java第五周学习总结

    上周考试错题总结

    • 下列说法错误的是 正确答案: 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项:不能有方法体。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x
Stella981 Stella981
3年前
20175209 《Java程序设计》第八周学习总结
20175209《Java程序设计》第八周学习总结一、教材知识点总结1.泛型1.泛型类声明:格式classPeople<EPeople是泛型类名称E是泛型列表,可以是任何对象或接口,但不能是基本类型数据
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
可莉 可莉
3年前
20165334 《java程序设计》第9周学习总结
学号20165334《Java程序设计》第9周学习总结教材学习内容总结13章知识总结获取地址1.获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(Strings);获
Stella981 Stella981
3年前
20165334 《java程序设计》第9周学习总结
学号20165334《Java程序设计》第9周学习总结教材学习内容总结13章知识总结获取地址1.获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(Strings);获
Stella981 Stella981
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x
可莉 可莉
3年前
20175209 《Java程序设计》第八周学习总结
20175209《Java程序设计》第八周学习总结一、教材知识点总结1.泛型1.泛型类声明:格式classPeople<EPeople是泛型类名称E是泛型列表,可以是任何对象或接口,但不能是基本类型数据