发表于: 2018-03-12 19:54:27
2 530
今日完成
1、写了一个报名帖的表
关系设置以及输出, 明显感觉比昨天更得心应手了。

.png)
.png)

2、学习重写和重载
重写:调用父类方法(非构造方法)需要改变方法的时候,叫做对此方法的重写,但是不能改变方法名称、变量数量,变量类型,返回值类型。 并且父类申明变量指向子类实例,该父类变量不能调用父类不存在的变量和方法,否则会编译错误。
调用父类方法的时候,用:super.方法名称();调用本类方法用:this.方法名称();
调用父类构造方法的时候用super();
两个类用extends连接,表示前者是后者的子类,并且一个子类只能有一个父类,即Dog()是Animal()的子类,Animal()是Dog()的唯一父类;
当接口继承的时候,使用implements连接,此时有多继承性

.png)
.png)

重载:在一个类中,方法名称相同,参数不同,返回值可以相同也可不同;并且每个重载的方法都必须有一个独一无二的参数列表。
如下图均是方法stu()的重载,交换参数位置也是其重载。(最典型的就是构造方法的重载)
.png)

3、了解抽象类、接口和interface
抽象类
由abstract class定义,它除了不能被实例化对象以外,类的其他功能都在。通过一个普通类来继承抽象类,再实例化普通类就能达到实例化对象的目的。
与抽象类相对应的是抽象方法,其形式如下图,即“abstract 数据类型 方法名称();”;
抽象方法只能存在于抽象类中,并且子类继承的时候必须重写这个方法或者子类本身就是抽象类,否者不能用了实例化对象;
构造方法和static修饰的方法不能定义成抽象方法。
.png)

接口(使用interface声明)
.png)

接口与类的区别
接口不能实例化对象;没有构造方法;包含的方法必须是抽象方法;不能包含出static、final外的其他变量;支持多继承(Swimming继承了两个接口);不含方法的接口(Sports/Football/Swimming)是标记接口。
明日计划
1、学习多态;
2、学习包;
3、把简单多对多java类补上。
遇到的问题
今天的学习还停留在概念上,理解起来没有问题,以后再实际应用中可能会存在一些未知的问题。
收获
1、较为熟练的掌握了一对多的java类的编写;
2、理解并学到了重载、重写以及它们之间的区别;
3、了解了抽象类、抽象方法以及接口。
评论