各位大神我今天遇到了一个奇怪的问题求解!!!
情况是这样的
比如有一个实现类 public class Dog extends Pet implements print
现在前面加了一个abstract 变成 public abstract class Dog extends Pet implements print
奇怪的是里面既可以写抽象方法又可以写实现方法!!!
抽象方法不是只能写方法体么,为什么这种情况能写实现方法呢!!
求解!!!servletclass

解决方案 »

  1.   

    在java中一般抽象类是用来 做适配器
      

  2.   

    然后 就是来做 base 操作, 其他的话 建议用接口编程,至于在抽象类中 必须要有抽象方法, 但是也可以写实现的方法,此时这些方法应该是不需要 子类来继承的方法,所以这些知识点 还是要用到实际需求中,
      

  3.   

    public abstract class Dog extends Pet implements print只是规定了这个类是个抽象类。
    抽象类和接口类似,都是不可以自身实例化的一种结构封装。不同在于接口所有的方法都没有实现,只是定义了实现类必须实现的方法名称、参数和返回类型。而抽象类,它里面的抽象方法才是与接口方法相似的必须由子类必须实现的方法,如果子类不实现,子类也会被视为抽象类而不能实例化。但是抽象类里面的非抽象方法与具体的类中的方法相同,都是可以执行具体逻辑的方法,一般是所有继承类的公用方法,用于做一些最基本的事情,这是他与接口最大的不同,要是抽象类里面所有的方法都只能是抽象的,它就沦为接口类了。