@liruiyi962464
2017-03-21T01:18:07.000000Z
字数 973
阅读 455
java
- 抽象是把多个事物的共性的内容抽取出来,本质就是把我们关注的内容抽取出来
- java中可以定义没有方法体的方法,该方法由其子类来具体实现,该没有方法体的方法我们称之为抽象方法,含由抽象方法的类我们称为抽象类
-只有方法头没有方法体的方法称为抽象方法
-抽象方法用abstract来修饰
-抽象方法代表一种不确定的操作或行为
-抽象方法不能被调用
- 不能被实例化,只能作为父类被继承
- 反面是具体类
- 有抽象类的方法的类,必须作为父类被继承
- 相反,抽象类可以不含有抽象方法
//A是一个抽象类
public abstract classA{
public void methodA(){
}
//methodB是一个抽象方法
public abstract void methodB(){
}
}
抽象类(父类)
//抽象类
public abstract class Employee {
private String id;
private String name;
private double salary;
//抽象方法:没有方法体 用abstract锈蚀
public abstract void work();
//抽象类可以有具体方法
public void play(){
System.out.println("play happy");
}
}
子类1
public class AndroidEmp extends Employee{
/*
* 当子类继承抽象类的时候:俩种选择
* 1、实现抽象类的抽象方法
* 2、往子类添加一个abstract
* */
public void work() {
System.out.println("Android 工程师");
}
子类2
public class AndroidEmp extends Employee{
/*
* 当子类继承抽象类的时候:俩种选择
* 1、实现抽象类的抽象方法
* 2、往子类添加一个abstract
* */
public abstract class JavaEmp extends Employee{
}
测试类
public class Test {
public static void main(String[] args) {
AndroidEmp aEmp = new AndroidEmp();
aEmp.work();
Employee emp = new Employee();//编译失败
}
}