问题描述
1如何定义一个抽象类???2如何识别抽象类???3如何定义抽象方法???4怎么判断方法是抽象方法???5抽象方法与普通方法区别???6抽象类与抽象方法的关系????7抽象类与接口的关系???谢谢老师一一回复对这些问题感到困惑和不解
解决方案
解决方案二:
1.需要用abstract修饰,如abstractclasstest{}这就是抽象类了2.抽象类识别的标志就是有abstract修饰3、抽象方法定义是加上abstract修饰就可以了,不需要实现。4、抽象类中未实现的方法就是抽象方法了5、抽象方法不能有实现,普通方法必须有方法体实现6、抽象方法必须在抽象类中才可以,抽象类中可以没有抽象方法7、抽象类可以实现接口
解决方案三:
抽象类如下定义:publicabstractclassMyAbstractClass{//实例方法,有方法体,并且不能用abstract修饰publicvoidsay(){System.out.println("yeah!");}publicabstractvoidprint();//抽象方法,没有方法体}
加abstract关键字的方法并且没有方法体的,为抽象方法.加abstract关键字的类为抽象类.一个抽象类里即可有抽象方法也可以有实例方法接口定义如下:publicinterfaceMyInterface{//不能有方法体publicvoidsay();//可以用abstract修饰接口里的方法publicabstractvoidprint();}
加interface关键字的为接口,接口里的方法没有方法体,它是由类来实现的抽象类可以实现接口里面的方法:publicclassImplementAbstractClassimplementsMyInterface{//实现了MyInterface接口中的两个方法@Overridepublicvoidprint(){//..}@Overridepublicvoidsay(){//..}}