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的抽象方法
}
更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103117449