在看okhttp的教程,有个问题想不明白。
如下面的代码:
//初始化RequestBody,用于保存访问网络的请求信息
RequestBody requestBody = RequestBody.create(JSONTYPE, requestContent);看了源码,好像RequestBody是个抽象类,而create是RequestBody中的静态方法。
本人是新手刚学java的小白,抽象类不是不能实例化吗,而且也没加new啊。

解决方案 »

  1.   

    必须是静态方法,只有静态方法才能通过类名称来调用创建实例,而不用关键字new来创建对象是因为他的构造方法被私有化了,即被定义为了private,这样的方法不能用new来创建实例,但是可以通过类名来调用静态方法来创建实例,你说这是个抽象类,所以道理很简单,一定有子类去实现他的方法,不然这个抽象类的意义何在,既然子类实现了他的方法那就一定可以通过向下转化来调用子类方法来创建实例
      

  2.   

    正因为它是静态方法所以能通过类名.方法名调用.不用new