抽象类:
以前:一个类,如果类中包含抽象方法,那么这个类就是抽象类
现在:Java中规定,只要一个类是用abstract修饰 ,那么这个类就是抽象类
特点:
java规定,抽象类不能创建对象
抽象类不能创建对象,有什么作用?
抽象类天生就是作为父类
抽象方法:
一个方法,如果只有声明,没有实现 那么这个方法就是抽象方法
抽象方法产生的?
当子类的共性不断向上抽取,抽取到一定程度,有些方法我们就不知道如何实现
那么我们就把这个方法称为抽象方法
格式:
抽象方法必须由 关键字 abstract修饰
public abstract void work();
抽象类 必须由关键字 abstract修饰
public abstract class 类名{}
以一个简单的例子来理解:
对一个公司的员工(Employee)进行管理,员工所属两个部门,开发部(Development)和后勤部(Logistics)
company:
package com.test.abstracttest; public class company { public static void main(String[] args) { // TODO Auto-generated method stub Developmenter zhang =new Developmenter(); zhang.name="张三丰"; zhang.work(); Logisticser zhao = new Logisticser(); zhao.name="赵无极"; zhao.work(); } }
Employee:
package com.test.abstracttest; public abstract class Employee { String name; int age; int id; public abstract void work(); }
Logistics:
package com.test.abstracttest; public abstract class Logistics extends Employee { }
Development:
package com.test.abstracttest; public abstract class Development extends Employee { }
Developmenter:
package com.test.abstracttest; public class Developmenter extends Development { public void work() { System.out.println(name+"正在给公司开发程序。。。"); } }
Logisticser:
package com.test.abstracttest; public class Logisticser extends Logistics { public void work() { System.out.println(name+"正在给公司提供后勤支持。。。"); } }