发表于: 2017-12-02 22:09:32
2 819
今天完成的事情:
1.学完了java的继承
a.final关键字的学习
知识点:使用final关键字做标示有“最终的”含义,不可修改,不可变化;
final修饰类,则该类不允许被继承;修饰方法,该方法不能被重写;
final修饰属性,则该类的属性不会进行隐式的初始化或在构造方法中赋值(方法二选一)如下:
(1)final public int age = 10;//声明时赋值
(2)final public int age;
public Alex(){
age = 10;//通过构造方法赋值
}
b.super关键字的使用
知识点:(1)访问父类的对象:super.age;
(2)访问父类的方法:super.eat();
结合代码学习知识点:
我们可以看到,代码在运行的时候执行了两次“Animal类执行了”这是因为子类的构造的过程中必须调用其父类的构造方法。
而在代码中没有体现调用父类的构造方法,这是因为系统自动调用了父类的无参构造方法。
接下来再看一组代码复习另外的知识点:
在这里我们用到了super关键字直接调用父类的方法以及访问父类的变量。
c.java中的object类
知识点:(1)object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承,则默认继承objecct类。
(2)toString()方法。如果我们在代码里直接输出一个对象,它会输出这个对象在内存中的地址,叫做哈希码;我们可以通过重写 toString方法来标识出它的属性。如下代码:
我们看到,它输出的是内存地址,那么我们重写方法之后呢:
我们通过重写toString()方法让代码输出了变量的值。
(3)equals()方法:此方法比较的是对象的引用是否指向同一块内存地址,但是我们一般使用都是比较对象的值,所以要重写此方 法。
这是方法重写之前,我们发现结果是不同的;
这是方法重写之后的,我们实现了用equals()比较对象的值。
2.进行了章节练习
因为学完了继承,一时膨胀,找了道练习题试了试(说起来就想哭),结果当然是喜闻乐见的惨不忍睹。耗费了大概三个小时,才把那个练习题做完, 感觉已经废了。期间不停地翻笔记,不停地抓耳挠腮,才终于写了出来。感觉有很大的修改完善空间,但是现在头脑乱乱的,打算明日再来修改完善,粘 出代码如下:
这三个图是DADAdrive类的完整代码。
左边这是Car类的完整代码
左边这是Price类的完整代码
这是一次测试。
目前存在的问题是选择不租车之后还是会继续下面的方法:正在想方法ing...
明天要做的事情:
1.修改完善代码。
2.学习java的多态。
今天的收获:
今天的收获就是谢了好久好久代码,一直在改啊改啊改啊...感觉以前的知识点用起来有得心应手的趋势。明天也要继续努力!
最后,麻烦师兄审核~
评论