发表于: 2018-03-12 19:54:27

2 528


今日完成
1、写了一个报名帖的表
关系设置以及输出, 明显感觉比昨天更得心应手了。
        
2、学习重写和重载
        重写:调用父类方法(非构造方法)需要改变方法的时候,叫做对此方法的重写,但是不能改变方法名称、变量数量,变量类型,返回值类型。 并且父类申明变量指向子类实例,该父类变量不能调用父类不存在的变量和方法,否则会编译错误。
                调用父类方法的时候,用:super.方法名称();调用本类方法用:this.方法名称();
                调用父类构造方法的时候用super();
                两个类用extends连接,表示前者是后者的子类,并且一个子类只能有一个父类,即Dog()是Animal()的子类,Animal()是Dog()的唯一父类;
                当接口继承的时候,使用implements连接,此时有多继承性
                
        PS:父类变量不能调用父类中不存在的子类方法,如下图中的a.eatTest()(父类中没有eatTest())。
        重载:在一个类中,方法名称相同,参数不同,返回值可以相同也可不同;并且每个重载的方法都必须有一个独一无二的参数列表。
                如下图均是方法stu()的重载,交换参数位置也是其重载。(最典型的就是构造方法的重载)
3、了解抽象类、接口和interface
        抽象类
        由abstract class定义,它除了不能被实例化对象以外,类的其他功能都在。通过一个普通类来继承抽象类,再实例化普通类就能达到实例化对象的目的。
                与抽象类相对应的是抽象方法,其形式如下图,即“abstract 数据类型 方法名称();”;
                抽象方法只能存在于抽象类中,并且子类继承的时候必须重写这个方法或者子类本身就是抽象类,否者不能用了实例化对象;
                构造方法和static修饰的方法不能定义成抽象方法。
        接口(使用interface声明)
        接口与类的区别
                接口不能实例化对象;没有构造方法;包含的方法必须是抽象方法;不能包含出static、final外的其他变量;支持多继承(Swimming继承了两个接口);不含方法的接口(Sports/Football/Swimming)是标记接口。

明日计划

      1、学习多态;

      2、学习包;

      3、把简单多对多java类补上。

遇到的问题

      今天的学习还停留在概念上,理解起来没有问题,以后再实际应用中可能会存在一些未知的问题。

收获

      1、较为熟练的掌握了一对多的java类的编写;

      2、理解并学到了重载、重写以及它们之间的区别;

      3、了解了抽象类、抽象方法以及接口。



返回列表 返回列表
评论

    分享到