
抽象方法,只声明而未实现的方法我们称为抽象方法,所有的抽象方法都需要用abstract关键字声明,包含抽象方法的类也需要使用abstract关键字声明,抽象类和普通类相比,区别在于抽象类带有抽象方法,抽象方法可以只声明,而不需要方法体。
public class Demo05 {
}
abstract class Animal{
private String name;
public Animal(String name){
this.name=name;
}
// public void eat(){
// System.out.println("吃东西");
// }
//父类方法不确定性,此时的父类方法并没有实际意义。
//==》考虑将该方法设计为抽象方法。
//==》所谓抽象方法就是没有实现的方法。
//==》所谓的没有实现就是指,没有方法体。
//==》当一个类中存在抽象方法时,需要将该类声明为abstract类
//==》一般来说,抽象类会被继承,由其子类来实现抽象方法。
public abstract void eat();
}
- 用abstract关键字来修饰一个类时,这个类就叫抽象类。
访问修饰符 abstract 类名{
}
- 用abstract关键字来修饰一个方法时,这个方法就是抽象方法
访问修饰符 abstract 返回类型 方法名(参数列表);//没有方法体
- 抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类。
- 抽象类,在框架和设计模式中使用较多。
- 抽象类不能被实例化。
- 抽象类中不一定要含有abstract方法。也就是说,抽象类中是可以没有抽象方法的。
- 一旦类中包含了abstract方法,则这个类也必须声明为abstract。
- abstract只能修饰类和方法,不能修饰属性和其他的。
- 抽象类中可以有任意成员【抽象类的本质还是类】,如:非抽象方法,构造器,静态属性等。
- 抽象方法不能有主体,即不能实现。
- 如果一个类继承了抽象类,则它必须实现抽象类中的所有抽象方法,除非它自己声明为abstract类。
- 抽象方法不能使用private、final和static来修饰,因为这些关键字都与重写冲突。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)