黑马程序员——抽象类

原创 2015年07月08日 21:15:17

        抽象类和抽象方法必须使用abstract修饰符来定义,有抽象方法的类必须定义成抽象类,而抽象类里可以没有抽象方法。

        抽象类和抽象方法的规则:

           抽象类和抽象方法必须使用abstract来修饰,抽象方法不能有方法体。

       抽象类不能实例化,不能使用new来创建对象。

       含有抽象方法的类必须定义成抽象类,而抽象类里可以没有抽象方法。

   

    定义一个抽象类,里面包含抽象方法:

      

 

        抽象类不能创建对象,而且抽象方法不能被使用,若想要使用该类的方法必须创建子类继承该类,并且重写该类的所有抽象方法。

       当使用abstract修饰类时,表明这个类只能被继承;当使用abstract修饰方法时,表明这个方法必须由子类提供实现。而final修饰的类不能被继承,final修饰的方法不鞥被重写,所以abstract不能和final同时使用。

       当使用static修饰一个方法时,这个方法可以直接通过类名调用,当方法被abstract修饰时,表明这个方法不能被直接只用,必须通过子类重写后使用,当static和abstract同时修饰某个方法时将导致类调用方法出错,因此static不能和stabstract同时修饰一个方法。

 

       抽象类和抽象方法的作用:

        抽象类是从多个具体的类中抽象出来的父类,它具有更高层次的抽象。从多个具有具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。

       如果一个抽象父类,父类提供了多个子类的通用方法,并把一个或者多个方法留给子类实现,这就是一种模板模式,模板模式是一种常见简单的设计模式。

       抽象父类可以只定义需要使用的某些方法,把不能实现的部分抽象成抽象方法。留给子类实现。

示例代码:

 

黑马程序员:从零基础到精通的前端学习路线

随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才。很多同学,包括以前做UI的、Java的、或者对于IT完全零基础的同学都想学习前端。下图是网上流传甚广的一张前端学习思维导图,很多初学者...
  • itcast_cn
  • itcast_cn
  • 2016年07月29日 14:46
  • 5100

真实大起底:一名黑马程序员的就业经历

写在前面的话:首先说明一下,我是黑马程序员Java09期的一名毕业学员,目前就职于北京汇***宇科技有限公司,起步月薪:10000元/月(福利不计)。我大学所学的是计算机专业,2014年毕业后直接进入...
  • itcast_cn
  • itcast_cn
  • 2016年05月17日 11:44
  • 11100

黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!

文章来源:黑马程序员,黑马论坛     公元2013年1月10号我拖着沉重的行李箱和对未来的憧憬来到了黑马,公元2013年6月7号我怀抱着满满的知识和对老师的不舍离开了黑马。到现在离开黑马也有一个...
  • heima_28
  • heima_28
  • 2014年08月26日 15:16
  • 1390

黑马程序员——继承的深入学习:抽象类与接口(上)

------- android培训、java培训、期待与您交流! ----------       看过毕向东老师讲解的关于抽象类与接口的课程后,获益颇丰,决定更深入的去探究一下究竟ab...
  • RyanYoung
  • RyanYoung
  • 2013年03月11日 13:49
  • 327

黑马程序员——Jave抽象类

------- android培训、java培训、期待与您交流! ---------- 1.抽象类概述 抽象定义: 抽象就是从多个事物中将共性的,本质的内容抽取出来。 例如:狼和狗共性都是...
  • shuaishuai2015
  • shuaishuai2015
  • 2015年01月13日 23:51
  • 133

黑马程序员——Java基础---面向对象(继承_概述、关键字final、抽象类)(5) 分类: Java学习笔记

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  面向对象(继承_概述、关键字final、抽象类) 一、继承概述 ...
  • lanzhenyue1990
  • lanzhenyue1990
  • 2015年10月17日 10:18
  • 309

黑马程序员——java抽象类详解

---------------------- android培训、java培训、期待与您交流! ---------------------- /* 当多个类中出现相同功能,但是功能主体不同。 ...
  • kuyuyingzi
  • kuyuyingzi
  • 2012年05月23日 09:42
  • 454

黑马程序员——面向对象07(继承、final、抽象类、模版方法、接口)

——- android培训、java培训、期待与您交流! ———- 1.1:继承 1,继承是面向对象的一个重要特征。当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中, ...
  • a378983320
  • a378983320
  • 2015年08月16日 13:44
  • 209

黑马程序员——多态,继承;抽象类

多态的作用: 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。 只修改方法的实现,不必修改方法的声明 继承是多态产生的前提条件; ...
  • u013437627
  • u013437627
  • 2014年01月15日 00:21
  • 277

黑马程序员——继承、抽象类、接口、多态

——- android培训、java培训、期待与您交流! ———-黑马程序员继承抽象类接口多态 继承的概述 继承的特点 super关键字 函数覆盖 子类的实例化过程 final关键字 抽象类 抽象类概...
  • jmw__
  • jmw__
  • 2015年08月20日 17:04
  • 178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——抽象类
举报原因:
原因补充:

(最多只允许输入30个字)