发表于: 2016-06-29 10:55:23
0 1865
补充下昨天的日报:
今天完成的事情:
1.学习java基础语法之对象转型跟多态的概念,并动手敲代码。
这个对象转型的一些概念如下:
对于多态的概念理解如下:
1.要有继承;2.要有重写;父类引用指向子类对象。
相关代码如下:
abstract class Animal{
private String name;
Animal(String name){this.name = name;}
public void enjoy(){
System.out.println("叫声......");
}
}
class Cat extends Animal{
private String eyesColor;
Cat(String n,String c){super(n);eyesColor = c;}
public void enjoy(){
System.out.println("猫叫声 ......");
}
}
class Dog extends Animal{
private String furColor;
Dog(String n,String c){super(n);furColor = c;}
public void enjoy(){
System.out.println("狗叫声......");
}
}
class Bird extends Animal{
Bird(){
super("bird");
}
public void enjoy(){
System.out.println("鸟叫声......");
}
}
class Lady{
private String name;
private Animal pet;
Lady(String name,Animal pet){
this.name = name;this.pet = pet;
}
public void myPetEnjoy(){pet.enjoy();}
}
public class Test {
public static void main(String args[]){
Cat c = new Cat("catname","blue");
Dog d = new Dog("dogname","black");
Bird b = new Bird();
Lady l1 = new Lady("l1",c);
Lady l2 = new Lady("l2",d);
Lady l3 = new Lady("l3",b);
l1.myPetEnjoy();
l2.myPetEnjoy();
l3.myPetEnjoy();
}}
上述代码的执行结果如下:
猫叫声......
狗叫声......
鸟叫声......
注意在执行过程中而非编译过程l1.myPetEnjoy,l2.myPetEnjoy,l2.myPetEnjoy会去寻找自己的enjoy方法并打印,cat,dog还有bird都引用父类的方法,并对该方法进行了重写,所以最后打印结果如上所示。
多态的好处:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化,提高程序的课拓展性。
明天计划的事情:
1.查看springmvc的官方文档,重新搭建task4的项目并对整个项目的目录结构熟悉。
遇到的问题:
1.对于多态的概念很模糊,不过动手敲一遍代码然后执行之后慢慢理解了。(已解决)
2.task4中的profession.css变成绿色的,师兄说这个文件被添加到svn上了,但是还是没有被找到,先跳过这一块,把项目的目录结构理解清楚。
收获:
学习了对象转型跟多态的概念并手敲代码。
评论