标签:
当描述事物的时候,没有足够的信息对该事物进行描述,那么该描述对应得嘞就是一个抽象类。
1、没有方法铁定方法是抽象方法,一定定义在抽象类中
2、抽象类和抽象方法必须用abstract关键字修饰
3、抽象类可以不被实例化,因为抽象方法没有意义
4、抽象类必须由其子类覆盖掉所有的抽象方法之后,其子类才可以进行实例化,否则盖子类还是一个抽象类。
细节问题:
1、抽象类是一个父类
2、抽象类是有构造函数的,因为是给子类对象提供初始化动作的
3、抽象类中可以不定义抽象方法。
4、抽象关键字不能和 final static private共存
一般类和抽象类的异同之处:
相同之处:一般类和抽象类都用于描述事物,里面都可以定义行为和属性,以及构造函数
不同之处:一般类中不可以定义抽象函数,抽象类中可以,一般类可以被实例化,但是抽象类u型
一般类可以被继承亦可以不被继承,抽象类一定要被继承,需要其子类覆盖所有的抽象方法子类才可以被实例化
例子:
package com_package2; public abstract class Employee { private String name; private int age; private String id; private double pay;//共同属性 Employee(String id,String name,double pay) { this.name =name; this.id =id; this.pay =pay; } public abstract void work();//没有抽象体的抽象方法 }
package com_package2; public class Programmer extends Employee{ Programmer(String id, String name, double pay) { super(id, name, pay); // TODO Auto-generated constructor stub } public void work() { System.out.println("coding"); } }
package com_package2; public class Manager extends Employee { Manager(String id, String name, double pay,double bonus) { super(id, name, pay); this.bonus = bonus; // TODO Auto-generated constructor stub } private double bonus; public void work() { System.out.println("manager"); } }
标签:
原文地址:http://www.cnblogs.com/mmlovejj/p/4474796.html