龙空技术网

java中请给出一个抽象类,可以继承实体类的例子

马克java社区 209

前言:

现在小伙伴们对“抽象类继承非抽象类”大概比较关注,姐妹们都想要知道一些“抽象类继承非抽象类”的相关资讯。那么小编在网上网罗了一些关于“抽象类继承非抽象类””的相关知识,希望同学们能喜欢,各位老铁们快快来学习一下吧!

例1.7.2(抽象类可以继承实体类)

class VehMark_to_win {

void steer() {

System.out.println("Turn steering wheel");

}

}

abstract class Cart extends VehMark_to_win {

//因为Cart是抽象的, 可以这里还是什么都不干

}

abstract class Car extends VehMark_to_win {

void move() {

System.out.println("move");

}

}

class Lim extends Car {

//之所以这里可以什么都不干, 而且还不是抽象的,马克-to-win: 因为父类Car全部实现了Veh的抽象方法

}

public class Test {

public static void main(String[] args) {

Lim l = new Lim();

l.move();

}

}

输出结果:

move

多态,动态方法调度(dynamic method dispatch)

多态Polymorphism,向上转型Upcasting,动态方法调度(dynamic method dispatch)

马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

什么叫多态?简言之,马 克 - t o - w i n:就是父类引用指向子类时,父类和子类必须同时拥有某个同名函数,父类引用到底指向谁(调用谁的函数),是在runtime时决定的,因此呈现多种状态(不知道会指向若干子类中的哪一个还是父类自己)。拿上一节的例子来讲,比如运行时如果用户输入自行车,就执行自行车的驾驶方法。如果用户输入小轿车,就执行小轿车的驾驶方法,涉及到用户,这些都只能在运行时才能干。运行时的,就是动态的,所以这也是动态方法调度(dynamic method dispatch),既然是父类指针指向子类,这也是向上转型Upcasting(为什么是向上?看我本章的第一张图:父类 fuLei=(父类)

篇幅有限更多请见扩展链接:

标签: #抽象类继承非抽象类 #抽象类可以实现实体类吗为什么 #java抽象类例子