- 教材学习内容总结
第六章内容:
在以往的学习中,C++是没有接口的,在java中有接口的,定义一个接口,需要用关键字interface接口体包括常量的声明(没有变量)和抽象方法,接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量的访问权限一定都是public,而且是static常量(允许省略public、final和static修饰符),所有的抽象方法的访问权限一定是public(允许省略public abstract修饰符)。
由类实现接口,需要使用关键字implements,一个类可以实现一个或多个接口,当有多个接口要实现时,还是同一个类,需要用逗号隔开。
| 非抽象类 | 抽象类 |
方法重写 | 必须重写这个接口的所有方法 | 可以重写接口中的方法(不需要全部重写),也可以直接拥有接口中的方法 |
访问权限 | 方法的访问权限一定要用public来修饰 |
接口回调是指可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以间接操作该变量中存放的数据。接口无法调用类中的其他的非接口方法。
| abstract类 | 接口 |
能否有abstract类 | 能 | 能 |
数值类型 | 可以有常量,也可以有变量 | 只可以有常量 |
能否有非抽象类 | 能 | 不能 |
第七章内容:
内部类和外嵌类:一、内部类的外嵌类的成员变量在内部类仍然有效,内部类中的方法也可以调用外嵌类中的方法;二、内部类的类体中不可以声明类变量和类方法,外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员;三、内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。
匿名类:和子类有关的匿名类以及和接口有关的匿名类,特点:1、可以继承父类的方法亦可以重写父类的方法;2、因为是在某个类中直接用匿名类创建对象,所以匿名类一定是内部类;3、匿名类不可以声明static成员变量和stastic方法;4、由于是一个子类,可以直接使用父类的构造方法。
异常类:java中使用throw关键字抛出exception子类的实例表示异常发生,注意throw是java的关键字,该关键字的作用就是抛出异常,throw和throws是两个不同的关键字。
断言:在调试代码级阶段非常有用。
二、教材中的学习问题和解决过程
1、接口中能声明变量吗?
不能。
- 接口中的常量可以不指定初值吗?
不可以,因为不指定初值会影响整个程序运行。
- 内部类的类体中可以声明类变量和类方法吗?
不可以。
三、其他(感悟)
这一周的学习任务较重,学到的东西很多,但是最重点的是接口的使用,比如说是关键字implements和关键字extends这两个,类实现接口用关键字implements,如果是父类实现了某个接口,子类自然也实现了该接口,可以用关键字extends。总而言之,本周收获了不少。
- 学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
目标 | 5000行 | 30篇 | 400小时 |
|
第一周 | 10行 | 1篇 | 3小时 |
|
第二周 | 20行 | 2篇 | 10小时 |
|
第三周 | 20行 | 3篇 | 10小时 |
|
第四周 | 30行 | 4篇 | 3小时 |
|
第五周 | 50行 | 5篇 | 5小时 |
|
第六周 | 10行 | 6篇 | 5小时 |
|
第七周 | 10行 | 7篇 | 5小时 |
|