美文网首页
抽象类能否实例化思考

抽象类能否实例化思考

作者: young_xst | 来源:发表于2017-04-28 02:50 被阅读0次

       在软件业,抽象能力的重要性怎么说都不为过。程序员经常需要面对、处理异常复杂的业务和逻辑,如果不具备强大的抽象能力,无法把具体变成概念,进而驾驭概念进行思考,就很难降低问题的复杂度。

   我们经常说,万事万物皆对象。在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

   终于说到主题了,抽象类可不可以实例化呢?答案肯定是不可以。

    比较正式的解释是:这是由语言的设计决定的,就是纯粹为了继承而存在的。

     有人认为是抽象类里有未实现的抽象方法,实例化时不能正常分配内存,而且调用这个方法也会报异常。

   学过汇编的可能知道,程序都有一个代码段,在内存中需要占据一定的内存,而抽象类没有具体的实现方法,无法具体的给它分配内存空间,所以为了安全,java不允许抽象类直接实例化。

  其实抽不抽象是设计时就已经考虑好的问题,因为在设计时,考虑到某些类所具备的信息不足以实例化一个对象,才设计成抽象的。

相关文章

  • 抽象类能否实例化思考

    在软件业,抽象能力的重要性怎么说都不为过。程序员经常需要面对、处理异常复杂的业务和逻辑,如果不具备强大的抽象...

  • 普通类、抽象类和接口(转载)

    一、普通类、抽象类和接口区别: 普通类可以实例化,接口都不能被实例化(它没有构造方法),抽象类如果要实例化,抽象类...

  • abstract-抽象类、抽象方法

    抽象类的特点: 1、抽象类无法被实例化,无法创建抽象类的对象。 2、虽然抽象类没有办法实例化,但是抽象类也...

  • abstract关键字

    抽象类 PHP5 支持抽象类和抽象方法。抽象类不能被实例化,必须先继承该抽象类,然后实例化该抽象类的子类。抽象类中...

  • PHP中抽象类和接口

    抽象类: 1.抽象类用 [abstract] 关键字声明为抽象类2.抽象类不能被直接实例化3.如果子类需要实例化,...

  • Java抽象类概念

    Java中对象是类的具象化,某些类不具备实例化的意义,因此使用抽象类限制实例化。 抽象类: 创建抽象类的时候需要添...

  • Java抽象类/抽象方法!

    java抽象类的特点: *抽象类无法被实例化 *子类继承抽象类然后实例化子类 *子类继承了抽象类剋必须实现抽象类的...

  • java接口与抽象类学习

    1.什么是抽象类 特点整理: 抽象类,不能被实例化,非抽象的类的子类,可以实例化; 抽象类中不能含有抽象方法,但是...

  • 【知识】抽象类和接口的区别?

    原创不易,尊重作者,转载请注明出处 抽象类和接口的区别 1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量...

  • 2018-11-16

    抽象类总结规定 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的...

网友评论

      本文标题:抽象类能否实例化思考

      本文链接:https://www.haomeiwen.com/subject/qgcozttx.html