java抽象方法
⑴ 关于java抽象方法
下面是抽象方法声明时采用的语法:abstract void f();
如果从一个抽象类继承,而且想生成新类型的一个对象,就必须为基础类中的所有抽象方法提供方法定义。如果不这样做(完全可以选择不做),则衍生类也会是抽象的,而且编译器会强迫我们用abstract 关键字标志那个类的“抽象”本质。即使不包括任何abstract 方法,亦可将一个类声明成“抽象类”。如果一个类没必要拥有任何抽象方法,而且我们想禁止那个类的所有实例,这种能力就会显得非常有用。
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。在面向对象领域,抽象类主要用来进行类型隐藏。我们可以构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能。熟悉OCP的读者一定知道,为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle),抽象类是其中的关键所在。
⑵ java 抽象怎么理解
抽象是一种面向对象的编程实践的核心原则, Java具有所有OOPs原则,抽象是一个Java语言的主要构建块。
数据抽象的跨度从创建简单的数据对象集合的实现复杂如HashMap或HashSet。
控制抽象是结构化编程背后主要驱动力。
⑶ java怎么调用抽象类方法创建列表
1、publicabstractclassCall{undefined。
2、,undefined。
3、Connectionearliest=null。
4、以上就是java用java调用抽象类方法创建列表的方法。
⑷ java抽象类
其实狠好理解,因为抽象类包括抽象方法和非抽象方法。
如果父类是一个抽象类,当子类继承父类的时候,要实现抽象的方法,如果不实现的话,那么子类就必须是一个抽象的类。
⑸ java 抽象方法 可以有参数吗
肯定可以啊,抽象方法一般存在于抽象类中
而抽象类就将所有基础子类的共有特性抽离出来,避免代码重复。
所以抽象类就是用来作为父类让子类继承的
子类可以去重写父类的方法,扩展自己特有的方法
⑹ java中什么叫抽象方法和抽象类及他们的特点,说的具体些,写个例子
7.何为抽象方法和抽象类?
马克
-to
-win:方法前有个abstract修饰符,就叫抽象方法。类前有个abstract修饰符就是抽象类,完了,简单就好记。
以下是二者的要点:马
克
-to
-w
in
:
1)抽象方法没有函数体。有童鞋说,这有什么意义呢?比如下面的例子,当我们不知道现在是什么车时,你让我写驾驶(steer)这个方法,我怎么写呢?这种场合就需要抽象方法。
2)抽象类(Veh)的子类(Lim)只要不是抽象类,马克-to-win:它自己(Lim)或它的父类(Car)必须把那个抽象类里的抽象方法全部实现掉。这句话很复杂,对照下面的例子来理解。
3)抽象类不能被实例化。字面上好理解,抽象的东西那么抽象,看不见摸不着,当然不能被实际的具体的生成了。还是举上面的例子。当我们现在连什么车都不知道时,也不知道它是自行车还是豪华轿车时,你让我具体地生成这辆车,当然是不可能了。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的网络空间:java第三章的内容,如果实在找不到,按我下面说的地址找:
网站名是:mark-to-win.com
再附加上下边的路径地址:
/JavaBeginner/JavaBeginner3_web.html#AbstractMethodClass
⑺ Java中什么叫做抽象方法只需声明,而不需实现
抽象方法,顾名思义就是抽象的,只不过是有这么个东西,但是具体的实现是没有的。
举例:抽象的东西“食物”(汽车、动物等等),它就是一类东西的总称,声明一个东西是食物,肯定会联想到米饭、馒头、花卷等等,而这些东西才是真实存在的,它们才是食物的具体展现。
抽象方法定义:java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
⑻ java中抽象的方法(abstract)有什么作用
抽象类、就是一个用abstract修饰的类,在这个类中、你可以定义一些不需要具体实现的方法、也就是没有方法体的方法、这些方法叫做抽象方法、当一个类要继承这个抽象类时、就必须要实现这些抽象方法、。当你在做一个比较复杂的项目时、一些简单的方法就可以马上写出来、但一些复杂的方法、在不同的类中需要不同的实现、那么这个时候就需要用到抽象类的。。。
⑼ java 抽象方法可以是static吗
static是静态的。抽象方法的目的是希望子类重写(其实也不能叫重写,应该叫实现)这个抽象方法。而你又定义为static,这里就出现一个问题:static的方法能直接通过类名调用,而你这个方法没有具体的实现,这里就会自相矛盾,所以抽象方法不能用static修饰。