黑马程序员技术交流社区
标题:
关于抽象类的应用
[打印本页]
作者:
孙宁洋
时间:
2013-5-31 12:55
标题:
关于抽象类的应用
对于什么情况下定义抽象类?抽象类实现的功能是怎么样的呢?
java新手基础薄弱,请高手指点
作者:
yin1031468524
时间:
2013-5-31 13:04
抽象类主要用于关系密切的类,是对那些关系密切的类的抽象,多表示概念(比如从汽车,轿车、轮船、飞机等可以抽象出一个交通工具类,交通工具只是概念,现实中并不存在一个叫交通工具的实体,它只能是具体的轿车或飞机等;再比如说水果类,它也表示一种概念,具体到现实中,只能是苹果、梨、香蕉、桔子等中的一种,所以水果类也只能抽象类,主要用于设计大的功能单元
作者:
花心々小土豆
时间:
2013-5-31 16:40
抽象类和一般方法差不多,什么时候定义抽象类?
当所描述的事物出现了一些不确定的功能,而这些功能需要明确出现可又没法定义主体,这时就可以通过抽象方法来表示。(好像毕老师说过的原话,呵呵)
注意:抽象类不能用new创建对象,抽象类中的抽象方法没有函数体,要使用抽象类中的抽象方法必须由子类将所有抽象方法覆盖,然后建立子类对象调用。
作者:
zZZ~~
时间:
2013-5-31 16:54
抽象类就是类的抽象,是对相似类的归纳,因此。抽象类中通常只包括抽象的方法(只有方法声明,却不含有方法体),而方法的具体实现则由其派生的各个子类来实现,
这个就使得程序的功能描述和功能的实现分开,
因此,由于一个抽象类可以派生很多的子类,所有,抽象类中的一个抽象的方法可以在很多的子类中有多种的实现方法,这也使得程序的多态性了
例如:
public abstract class Pl{
private String aa;
...............
public abstract double area(); //这个就只有方法的声明,但是却没有实现功能 如果想实现功能,就从派生的子类来实现
}
class bb extends Pl{
//这个类继承了Pl类 所有上面的area的功能实现部分可以在这里实现
}
作者:
骑上最爱
时间:
2013-5-31 21:17
了解几个类的特点就能知道如何定义类了。普通类中的方法必须有方法体, 抽象类中可以定义带方法体的类也可以定义抽象类,但是抽象类不能直接创建实例对象,子类继承后必须要实现抽象方法才能创建实例对象,否则这个子类也必须声明为抽象类。接口类中的所有方法都是抽象的。所有看你的需求就可以定义对应的类了。
作者:
花开花落总相似
时间:
2013-5-31 21:23
你要实现多个不同的对象,而这些对象又有许多共同的特征,这时你可以将这些共同的特征抽取出来成一个父类,
而不要实现的类又是具有父类的特性,具有相同的功能但是表现又不相同,也就是说你的父类是不必要来实现这些个相同的功能的
而要去由他的子类去实现,这时候,这些不需要实现的方法是一种残缺的方法,然后就定义为抽象的方法了。
注意:有抽象方法的类一定是抽象类,抽象类可以没有抽象方法。
有时候你写一个类,比如说是工具类,你只需要调用就其中的方法了,而不需要去实例化这个对象,这时候你就可以把他定义成抽象的
以此来避免被调用的人给实例化。 说的不好还请指正
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2