20145228《Java程序设计》第四周学习总结
教材学习内容总结
继承
·继承是面向对象的第二大特征
·继承避免重复的行为定义
·继承的好处之一:若要修改子类名称,只需要将父类名称修改就可以了,只要是继承他的子类都不用修改
·子类只能继承一个父类,但可以多层继承,子类和父类是一种is-a的关系
多态
·多态抽象地讲就是使用单一接口操作多种类型的对象
·多态的好出:减少不必要的重复,具有更高的可维护性
public class RPG2
{
public static void main(String[] args)
{
SwordsMan1 swordsMan = new SwordsMan1();
swordsMan.setName("Justin");
swordsMan.setLevel(1);
swordsMan.setBlood(200);
Magician1 magician = new Magician1();
magician.setName("Monica");
magician.setLevel(1);
magician.setBlood(100);
showBlood(swordsMan);
showBlood(magician);
}
static void showBlood(Role1 role)
{
System.out.printf("%s 血量 %d%n",role.getName(),role.getBlood());
}
}
抽象方法
·如果某方法区块中真的没有任何程序代码操作,可以使用abstract标示该方法为抽象方法,该方法不用写{}区块,直接;结束即可
·含抽象方法的类,class前必须标示abstract
protected成员
·被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取
public abstract class Role5
{
protected String name;
protected int level;
protected int blood;
public int getBlood()
{
return blood;
}
public void setBlood(int blood)
{
this.blood = blood;
}
public int getLevel()
{
return level;
}
public void setLevel(int level)
{
this.level = level;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
super
·如果想取得父类中的方法定义,可以在调用方法前,加上super关键字。
·如果想执行父类中某构造函数,可以使用super()指定
java.lang.Object
`在JAVA中,任何类的最上层父类,一定就是java.lang.Object
接口
·接口可以用于定义行为,但不定义操作
·操作某接口时,对接口中定义的方法有两种处理方式:1、操作接口中定义的方法 2、再度将该方法标示为abstract,如:
public abstract class Fish implements Swimmer {
protected String name;
public Fish(String name){
this.name = name;
}
public String getName(){
return name;
}
@Override
public abstract void swim();
}
代码调试中的问题和解决过程
class Some {
String ToString(){
return "Some instance";
}
}
public class Main {
public static void main(String[] args){
Some some = new Some ();
System.out.println(some);
}
}
最后结果显示的是 Some @ 1540e19d 且1540e19d为16进制数字,这样定义toString()方法使它变得更加方便,简洁。
本周代码托管截图
感悟
这周学习任务和上周一样比较繁重,需要较多时间去学习理解新知识、巩固旧知识,编写更多的代码,但付出越多,收获也就越多,也越能够体会到学习的乐趣。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 20篇 | 300小时 | |
第一周 | 100/100 | 1/1 | 15/15 | |
第二周 | 300/400 | 1/2 | 25/40 | |
第三周 | 500/900 | 1/3 | 35/75 | |
第四周 | 400/1300 | 1/4 | 30/105 |