zoukankan      html  css  js  c++  java
  • 20175314 《Java程序设计》第五周学习总结

    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小时

    参考资料

  • 相关阅读:
    Vue 单向数据流&双向数据绑定原理
    Arguments对象
    类数组对象(array-like objects)
    ...theArgs剩余参数
    vue 深度选择器/deep/报错(标红)
    修改mandMobile下拉菜单样式
    PC端input maxlength 失效问题
    el-input 正则限制输入为非负整数
    Mac鼠标左右键都是右键
    Vue双向数据绑定简易实现
  • 原文地址:https://www.cnblogs.com/SANFENs/p/10612610.html
Copyright © 2011-2022 走看看