keyword:abstract,extends.
abstract(抽象):
1.可在abstract的类中定义可执行方法。
2.在abstract类中public,static,final……都可以使用
3.有参构造方法和无参构造方法均可使用。
4.在abstract的类中可不含有abstract方法。(不介意这么做)。
个人看法:类似于菜单,选择你想使用的功能即可,不需要知道其内部结构(当然内部结构在后台实现,也就是extends的类进行实现)。
package b;
abstract class car{
int a,b;
car(int x,int y){
this.a=x;
this.b=y;
}//无参构造方法也可。
void sum() {
System.out.println("sum is "+this.a+this.b);
}//可在abstract中定义可执行的方法。
abstract void run();
abstract void show();
}
class exe extends car{
exe(int x, int y) {
super(x, y);
}
void show() {
System.out.println("I am a car!");
}
void run() {
System.out.println("run run run!");
}
void print() {
System.out.println("ssssss");
}
}
public class Person {
public static void main(String args[]) {
car c1=new exe(10,20);//不能调用exe中的print()
c1.sum();
c1.show();
c1.run();
System.out.println("-------------------------------------");
exe c2=new exe(10,20);//可以调用exe中的print()
c2.sum();
c2.show();
c2.run();
c2.print();
}
}
/*
结果:
sum is 1020
I am a car!
run run run!
-------------------------------------
sum is 1020
I am a car!
run run run!
ssssss
*/