java中抽象类和抽象方法到底什么关系?请举例说明!
Posted mark-to-win
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中抽象类和抽象方法到底什么关系?请举例说明!相关的知识,希望对你有一定的参考价值。
抽象类和抽象方法什么关系?抽象类中可能有抽象方法,也可能没有抽象方法。(视频下载) (全部书籍)那位说,就跟没说一样,那抽象类和抽象方法都叫抽象,他们必定有关系,那关系是什么呢?如果一个类中有抽象方法,它必须得是抽象类。
An abstract class may have no abstract method,such as the following class
Car. 马 克- t o --wi n: At this time,the only point and the meaning of
abstract class is that we can not instantiated the class, because it is abstract
class.Why an abstract class can have a nonabstract method? what is the point? also in logic, think
over the following example, car is a bit abstract in that you dont‘
know exactly whether it is a truck or a jeep or a limersine,
马克-to-win:so it is defined as a abstract class. but no matter whether it
is truck,jep, or limersine, it definitely use steering wheel. so its
steer() method is an ordinary method instead of an abstract method. )
Abstract class can’t be instantiated.
例1.7.1---本章源码
abstract class Nothing {//里面有方法也照样声明为abstract
void nothing() {
System.out.println("nothing");
}
}
abstract class VehMark_to_win {
abstract void steer();
abstract void move();
}
class Bike extends VehMark_to_win {//Bike不是抽象的, 所以必须得全部实现abstract方法
void steer() {
System.out.println("Turn handlebar");
}
void move() {//Bike不是抽象的, 所以必须得实现move方法
System.out.println("move");
}
}
abstract class Cart extends VehMark_to_win {
//因为Cart是抽象的, 可以这里还是什么都不干
}
abstract class Car extends VehMark_to_win {
void steer() {
System.out.println("Turn steering wheel");
}
void move() {
System.out.println("move");
}
}
class Lim extends Car {
//之所以这里可以什么都不干, 而且还不是抽象的,马克-to-win: 因为父类Car全部实现了Veh的抽象方法
}
public class Test {
public static void main(String[] args) {
Nothing n0;//声明是没问题的, 但不能实例化
。。。。。。。。。。。。。。。
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner3_web.html#RelationAbstractMethodClass
以上是关于java中抽象类和抽象方法到底什么关系?请举例说明!的主要内容,如果未能解决你的问题,请参考以下文章