abstract class 类名{
ddewfewfcsdcerrwec**&**
}
抽象类中包含了抽象方法。抽象方法是只做声明的方法,没有方法体。也可以理解为就会只声明了方法的存在而不去具体实现的类。
抽象类不能被new来实例化创造对象。
在编写程序时,如果设计了一个抽象类,那一定是用来继承实现的,如果一个具体类,那一定不是用来被继承的。抽象方法必须为public或者protect,不能为private,因为那样就不能够被继承了。
子类必须重写父类中所有的抽象方法。
abstract class A{
public abstract void shabi()
class B extends A{
public void shabi(){
%%%%%%%%%%%%%%%
}
main
A c=new B()
c.shabi()
运行结果:%%%%%%%%%%%%%
就是抽象类中的抽象方法在子类中被重写了。然后实现了抽象类中的抽象方法,再多态的知识,new一个对象,先检查父类中有没有对应的方法,再在子类中执行,由于父类中的方法时抽象类,所以在子类中执行相对应的方法体。
构造方法,类方法(用static修饰的方法)不能声明为抽象方法
抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
网友评论