Java 语言基础之So easy继承

来源:互联网 发布:matlab实现蚁群算法 编辑:程序博客网 时间:2024/05/06 10:23

与C++不同的是java的继承只能是单继承 ,不能进行多继承。好苦逼~

上个例子:

子类Cat:

package com;public class Cat extends Animal{@Override // 注解:用编译器去检测父类中是否包含当前具体方法(howl())的声明  public void howl()  {  System.out.println(this.name+".... miaomiao");  }}

子类Dog:

package com;public class Dog extends Animal{ @Override public void howl() {  System.out.println(this.name+".... wangwang"); }}

父类Animal:

package com;public abstract class Animal {   public String name;   public void walk()   {   System.out.println(this.name+"...walk");   }   public void sleep()   {   System.out.println(this.name+"...sleep");   }    public abstract void howl();}



main:

package com;public class main {/** * @param args */public static void main(String[] args) {// 子类对象赋值给父类变量 Animal animal = new Cat();animal.name="Cat";animal.walk();// howl() 方法在父类中是抽象方法(abstract),没有实际定义,只是声明而已。// 在Cat类中实际定义howl()方法的实现。// 在父类变量在实现调用时,指向的是子类对象,所以howl()方法是子类的方法。// 最后输出的是Cat.... miaomiao 而不是Cat.... xxxxxanimal.howl();getMsg(animal);Animal animal1 = new Dog();animal1.name="Dog";animal1.walk();animal1.howl();getMsg(animal1);}public static void getMsg(Animal animal){animal.howl();}}/** * 小结: * 通常定义父类和子类,并使用父类声明,子类赋值的方式进行代码复用。 * 优点:除了代码复用之外,还可以将具体的功能添加到父类声明的变量中,方便代码实现。 * 例如:父类Animal 声明一个变量animal之后,使用Cat子类或者Dog子类赋值给父类animal,这样在 * 写入getmsg()函数时,只要将对象类型声明为父类Animal 即可传入不同子类Cat Dag,来实现不同的具功能。 *  */


运行结果:





0 0
原创粉丝点击