20165315 第四周学习总结
本周学习中遇到的问题和解决过程
- 在编写第五章书上例子6的代码时,编译时一直显示如下提示:
经过反复检查代码,并未发现任何问题
解决过程:
经过上网查询,发现
在你的源代码中,使用JDK中的类的时候,调用了已经过时的方法。所谓过时方法,是有些没有真正实现的方法,或存在潜在问题的方法。这些方法一般情况下,目前的JDK还支持,但在未来的某个版本中,可能就会取消的。所以,在本地使用的代码不必担心这个问题;要移值到其它计算机的程序必须要解决这个问题。
--百度知道
故可以忽略这个问题,直接运行
- 在课上考试进行JDB调试程序时,出现如下问题:
解决过程:
- 在安装IDEA时,因为没有学生信箱的关系,不能免费申请
解决过程:
在网上找到了这个博客(https://blog.csdn.net/qq_33833327/article/details/77988280?locationNum=9&fps=1)
- mac电脑的快捷键和windows系统的不同
解决过程:
在网上找到这个网址(https://blog.csdn.net/lisongjia123/article/details/54949364)
学习总结
第五章
- 使用
extends
定义一个类的子类 - 子类的继承性
- 子类和父类在同一个包中:子类可以继承父类除了
private
之外的成员变量和方法 - 子类和父类不在一个包中:子类只能继承
protected
和public
的成员变量和方法
- 子类和父类在同一个包中:子类可以继承父类除了
- 成员变量的隐藏:当子类新声明的成员变量与父类的相同时,子类默认用新声明的成员变量,如果要使用被隐藏的成员变量,要使用
super
关键字 - 方法重写:既可以操作继承的成员变量和方法,也可以操作新声明的成员变量和方法,但无法直接操作被隐藏的成员变量和方法,同样要使用
super
关键字 super
关键字还可以调用父类的构造方法final
关键字可以修饰类、成员变量和方法中的局部变量- 当使用
final
将类声明为final
类时,此类将没有子类 - 当使用
final
修饰父类中的一个方法时,这个方法将不允许子类重写 - 当使用
final
修饰成员变量或局部变量时,这个变量就是常量
- 当使用
- 上转型对象
- 不能操作子类新增的对象和方法
- 可以访问子类继承或隐藏的成员变量,调用子类继承或重写的方法
Animal a;
Tiger b=new Animal();
a=b;
称对象a是对象b的上转型对象
- 多态性:父类的某个方法被其子类重写时,可以各自产生自己的功能行为
- 用关键字
abstract
修饰的类称为抽象类abstract
类中可以有abstract
方法abstract
类不能用new
运算符创建对象,不能用final
和static
关键字abstract
类的子类如果是非abstract
类,它就必须重写父类的方法;如果是abstract
类,它既可以重写,也可以继承abstract
类可以作上转型对象abstract
类只关心操作,不关心这些操作具体的实现细节
第六章
- 接口
- 使用关键字
interface
来定义一个接口 - 接口分为接口声明和接口体:接口声明格式
interface 借口的名字
,接口体中只有抽象方法,访问权限一定是public
- 类实现接口:
implements
关键字 - 重写接口中的方法时一定要加上访问权限
public
- 接口回调:将实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法
- 接口的多态:不同的类在实现同一个接口时可以具有不同的实现方式
- 使用关键字
abstract
类与接口的比较abstract
类和接口都可以有abstract
方法- 接口中只可以有常量,不能有变量;而
abstract
类中都可以 abstract
类中也可以有非abstract
方法,接口不可以
码云链接
https://gitee.com/BESTI-IS-JAVA-2018/ch1/tree/master