A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

抽象类的作用是什么?为什么不能被实例化?在Writer类中我发现了
构造方法
protected  Writer()
          创建一个新的字符流 writer,其关键部分将同步 writer 自身。
protected  Writer(Object lock)
          创建一个新的字符流 writer,其关键部分将同步给定的对象。
既然不能被实例化为什么还提供供子类调用的构造方法?

5 个回复

倒序浏览
抽象类主要就是抽象
抽象的意思是什么? 就是你不知道他要干什么
  比如说  我定义一个抽象类,里面必然有几个抽象方法如加法运算 减法运算等等
  抽象类必须要被子类继承的 这个你应该知道吧
   但是问题来了 你知道你的子类要实现什么方法吗? 你知道他具体要干什么吗?
   只要你知道你大概会执行什么方法就ok了 所以你就要定义一些抽象方法在抽象类中
    具体你的子类要实现那些方法哪就是你的子类的事情了  他需要什么就会重写什么方法
        你只需要给他提供一些结构就可以了  所以抽象方法不能被实例话  你想想看
         抽象类中的方法都是抽象的 都没有方法体  只有个方法名字 你创建一个对象
          调用它有什么用呢?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
就是为了让子类可以用而已。
回复 使用道具 举报
抽象类里的构造方法不能用来实例化,是在实现了抽象类的子类中调用,抽象类是从多个具体类中把相同的具有共同特特征的部分抽象出来的的父类。以这个抽象类作为子类的模版可以避免子类设计的随意性,约束了子类必须具有哪些特征。抽象类体现的就是一种模版设计模式,可以作为多个子类的模版,子类在抽象类上进行改造扩展,但是不管怎么该都保持了抽象类的行为方式。在以后的运用中你会看到它的优势。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
为让子类 必须从写 抽象的方法 抽象法是 从子类 抽取出来的。。我觉得抽象类为什么不能被实力,是因为你里面的对象的功能都是不完整的 必须依靠子类复写,所以抽象实例没什么意思 所以就不可以被创建。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
抽象类就是不具体的数据,只需要给子类提供方法,没有方法体。子类继承后会自己在创建对象。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马