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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄业凌 中级黑马   /  2012-5-9 17:36  /  3369 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

听大家说说抽象类的作用:handshake

6 个回复

倒序浏览
有些功能,你在写代码的时候只知道有这样一个功能,但是你没办法给出此功能的具体算法。
说白了,抽象类就是用来给其他类继承的。也就是其他类中有共同方法,但是方法的实施细节可能不一样,就可以把共同方法向上抽取到抽象类中。
回复 使用道具 举报
抽象类,就好像老板给你一个任务,叫你赚1000块,这个抽象类方法就叫做 赚钱,
然后员工们都继承了这个方法,但是他们都有自己的赚钱方式,抽象类可以说是为了让继承自己的子类强迫做某件事
回复 使用道具 举报

抽象类的应用是是对继承该抽象类的拓展 是对面向对象多态的一种诠释 同时对于Java程序员提供的一种的方便灵活的写法 后提到的设计模式更离不开抽象类和接口
回复 使用道具 举报
凡是抽象类就不能实例化(即使没有抽象方法)
当一类相同的对象向上抽取,就抽出了类。
而抽象类就是抽象类中有些方法,没有写方法体
(为什么,因为没个子类中的方法实现都不一样)
例如:
abstract animal{
abstract void eat();
}
每个动物吃东西都不同,狗吃骨头,猫吃鱼。。
这样就实现了代码不必要的复用,但都有吃这个功能。
这样就实现了多态,实现了向后兼容
回复 使用道具 举报
抽象类,从抽象上来说,抽象了就不能创造该类的对象了。抽象类是源于抽象类中有没有方法体的方法,只是一个方法声明。所以需要依靠子类将其实例化(复写父类中的抽象方法)。抽象类,是一个类,所以它也是存在构造函数的,它的构函数是给子类使用的。抽象类变量是fina修饰的,抽象类中可以没有抽象方法,目的是为了不让其它类创建该类的对象。抽象类中的方法权限必须低于或是等子类中复写该方法的权限。
回复 使用道具 举报
java抽象类的作用是:

1,通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性

2,接口就是更纯粹的抽象类,接口你应该用过吧

3,是这样的
父类:ABC
子类:Abc,Abcd
ABC obj1 = new Abc();
ABC obj2 = new Abc();
这样定义
如果ABC是abstract的有一个show();
子类实现了show()
那么obj1.show()就是第一个子类的show();
obj2.show()就是第2个子类的show();
多态我的理解就是在运行时期表示的多种形态(不准就这意思)
比如说我现在想写一个test 方法这个方法要调用子类的show方法
那么我可以这么定义
void test(ABC temp)
{
temp.show();
}

这样我如果想运行第一个子类的show()
我就这样ABC obj1 = new Abc();
然后test(obj1);
如果想运行第2个
ABC obj2 = new Abc();
test(obj2);
这样那个抽象类就类似一个接口,我可以用这个接口来生产东西
比如说过一阵我又想写一个新的类继承它,那么
class Abcde extends ABC
{
void show()
{...
}
}
ABC obj3 = new Abcde();
test(obj3);
这样我只写了一个类,声明了一个对象而没有改变原来的代码,直接调用我新写的类即可,完成了代码的重用
以后我再想写新的类只需再这么做而不必改动原来的代码,这个接口就好像能预测将来发生的事,将来完成的东西只要满足这个接口都可以调用这个函数而不必重新写


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马