感想2

时间:2020-05-02 23:16:22   收藏:0   阅读:71

        学习java已经几个月了,第一个学期也快要结束,我的感慨颇多。我一开始对java这门可是颇感兴趣的,但是在经历了一道又一道的题目之后,我的兴趣被摧残的一干二净了。我一开始觉得java和c语言挺相似的,毕竟是一个专业里的东西,但学的越多我就觉得区别越大,越学我就越不懂了。我的思维难以从面对过程转向面对对象,对写题的兴趣就越来越小,经常压着时间线写作业,分数也越来越低了。我觉得这篇随笔可以当作是我的一次反思,我要总结最近对学习的懈怠,并纠正这些错误。

1、作业过程总结

        第五次作业到第七次作业都用到了继承的方法。

第五次作业都是用到继承的方法,继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,这就是继承格式。至于为什么需要继承,当两个类具有相同的行为时,如果不用继承,代码就会存在重复的部分,后果就是代码量大且臃肿,所以要从根本上解决这个问题,就可以用到继承。当子类继承父类后,就具有了父类当中的属性和方法,子类就不会存在重复的代码,代码就更加简洁,提高了代码都复用性。对于继承这个方法,还是比较好理解,就是使子类具有父类的方法,让一个个类可以更加具体,这是c语言无法做到的。

        第六次作业比第五次作业多了类的多态性,类的多态性包括方法的重载和方法的覆写,方法的重载(overload)发生在同一类中,方法名称相同,参数个数、类型不相同。没有权限要求。即同一个方法名称可以根据参数类型或个数不同调用不同的方法体;方法的覆写(override)发生在有继承关心的类之间,方法名称、参数个数、类型全相同。同一个父类方法,可以根据实例化子类的不同也有不同的实现。实现多态有三个必要条件:继承、重写、向上转型。向上转型有一个非常大的好处,它可以让一个类具有父类所有的方法,也可以使用子类的方法,而且当有多个子类的时候,父类的引用可以随时指向另一个子类。到这里我就在一些地方存在疑问,有的时候会绕不过来,捋不清楚关系。

        第七次作业再一次递进,又增加了接口。接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。虽然老师讲的很详细,但是实践起来我确实就迷了。上网搜索了大佬的教学,根据大佬的解释接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。一个接口就是描述一种能力,比如“运动员”也可以作为一个接口,并且任何实现“运动员”接口的类都必须有能力实现奔跑这个动作(或者implement move()方法),所以接口的作用就是告诉类,你要实现我这种接口代表的功能,你就必须实现某些方法,我才能承认你确实拥有该接口代表的某种能力。至于为什么要用接口,大佬的解释我看的也是懵懵的:

1.接口被用来描述一种抽象。

2.因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限。

3.接口也被用来实现解耦。

4.接口被用来实现抽象,而抽象类也被用来实现抽象,为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。

第七次作业是要接口来进行排序,老师上课讲过,我还特地再去听过了段老师的课, 但到了实践时,看到指导书里面的参考类图还是懵了。技术图片

       对于每次作业花费的时间比例,这次在难题上面花的时间很少,基本上都是直接放弃,这也说明了我的态度出现了问题,我一定要改变这种思想。但在简单的题目上我虽然花了时间,但仍然不能完全答案正确,只有个别题目才能答案正确,大部分题目都会存在测试点不能通过的问题,不是答案错误就是运行超时,任你调试千百遍,依旧找不到问题出现在哪里,这就让我失去了耐心。

       对于逻辑性思维,我认为我这就是我的代码不能通过测试点原因,当逻辑出现错误时错误是在所难免的,而且自己的逻辑错误很难发现,它不像编译错误,会出现错误提醒,它需要我们一遍遍去调试,所以我真的认为逻辑思维是很重要的,它是我们代码好坏的决定性因素。

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!