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();}
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
- Java 语言基础之So easy继承
- java语言基础之继承
- Java语言基础--继承
- Java语言之继承
- Java基础之继承
- JAVA基础之继承
- JAVA基础之继承
- java基础之继承
- java基础之----继承
- java基础之继承
- java基础之继承
- Java基础之继承
- java基础之【继承】
- Android实现多语言so easy
- Java基础之005-继承
- Java基础之005-继承
- Java基础之005-继承
- Java基础之继承意义
- css image 热区
- css3做的迷宫
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- jquery-seat-charts 使用(去除第一个元素获取焦点)
- 8.2.1.16 GROUP BY Optimization
- Java 语言基础之So easy继承
- git 使用中报错 无法提交
- mac python eclipse
- LeetCode Nim Game
- 黑马程序员——java学习日记九
- 对PHP5中__set和__get的理解
- Android Shaper: Paint.Xfermode和Path,实现图片圆角效果
- 菜单效果
- 全局以及局部变量的重名问题