#20145205 《Java程序设计》第4周学习总结
教材学习内容总结
1、面对对象中,因为我们需要设计多个模块,但是有不能像C语言中那样进行分块设计,所以我们用父类和子类进行模块的设计,我们在设计一个较大的程序时,在一个项目中建立不同的文件,用关键字extends进行继承衔接。
2、在不用的板块设计中,若不用进行实力的生产,可以用关键字absract定义为抽象类,在JAVA中抽象类,第七章中的接口,和构造方法的访问权限为私有库的类,这三种情况是无法进行实例化,我们需要注意在JAVA的编写中,多个模块中是否有以上情况,导致运行文件无法生成实例。
3、以及为了避免类被再次继承就使用关键字final进行定义,表明无法被继承,无法被再次定义,可以在源代码的编写中使用,或是在教学中,以及考试中,以一个给定思路进行设计,避免其它取巧的办法。
4、通常情况下,定义为私有的类是无法被继承的,但是我们可以使用ptotected进行定义,这样既不会完全让别人看到你的私有类,也可以进行所需继承的内容。
5、接口区别于继承的方面就是没有一个所属的关系,是一种是否互相了解,没有明确的所属,举个例子,父亲和儿子就像是继承,有着明确的辈分关系,可以说子类是属于父类的,继承就像是兄弟姐妹的关系,大家是同一辈分,但是互相了解。但是这里的子类却可以有多个父类,也可以说是有着多个叔叔吧,但是辈分还是分明的,长辈就是长辈,但是一个类也同时又可以有多个兄弟姐妹,也就是可以同时和多个接口进行操作。
代码调试中的问题和解决过程
在书上第六章的定义抽象类那里,因为之前忽略了抽象类不可以实例化,在最后的代码运行中出现了错误,之后发现了并删除了抽象类关键字代码就可以编译成功了。
另外一个问题是,在第七章代码的编写过程中若添加@Override则代码无法编译成功,但是删除吼就可以正常运行。
以及在代码中使用继承则输出为null,若是接口的调用就可以正常显示。
继承代码
使用接口的代码
运行结果
其他(感悟、思考等,可选)
第六张章的继承和第七章的接口都是以第五章伟为基础进行的,而且第六章、第七章的代码都是一个项目式的方式进行编写的,就像开学的调查问卷中那个对于程序的模块化的理解,我认为这里就是JAVA中的模块化,在一个项目中有不同的父类和子类,父类就是主函数一样,子类对其进行调用,父类中定义基本所需变量或是函数,子类就无需再次进行编写,接口则是不同的类之前的关系,都可以使用互相的东西,但是也没有完全进行套用,各有各的职能,在查错时,若是父类有了问题之后的子类全都崩溃,而接口之间却不会有这样的情况,也是模块化的体现,有错可查,不需对整个工程的代码进行查错,大大节省了工作量和时间。
以下是代码托管的情况
项目一
项目二
项目三
项目四
项目五
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4500行 | 25篇 | 350小时 | |
第一周 | 100/100 | 1/2 | 15/15 | |
第二周 | 150/250 | 1/3 | 12/27 | |
第三周 | 400/650 | 1/4 | 22/49 | |
第四周 | 510/1160 | 1/5 | 32/81 |