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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋磊磊 中级黑马   /  2015-3-10 07:42  /  1280 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类中含有抽象方法,但类可以不是抽象类吗??

12 个回复

倒序浏览
只要含有抽象方法,类必须定义为抽象类或接口,反过来抽象类中可以自定义具体方法而不定义抽象方法,
回复 使用道具 举报 1 0
用abstract修饰的类就是抽象类,并不是说抽象类中必须有抽象方法,即使一个类中的方法全部实现过,也可以用abstract修饰为抽象类,所以抽象类不一定都有抽象方法。
回复 使用道具 举报
抽象方法一定在抽象类中;抽象类中可以有普通方法,也可以不定义抽象方法;
回复 使用道具 举报
抽象类可以做工具类,里面不一定包含抽象方法,但是,包含抽象方法的一定是抽象类。
回复 使用道具 举报
这样做感觉没什么意义,如果没有继承也就没有实现那么这个方法就失去了意义;不过抽象类里面可以有非抽象方法,因为子类相同的功能块;
回复 使用道具 举报
健健 中级黑马 2015-3-10 10:38:57
7#
抽象类里面不一定包含抽象方法,但是,包含抽象方法的一定是抽象类。
回复 使用道具 举报
抽象类
                当多个类中出现相同功能,但是功能主体不同,可以向上抽取,这时只抽取功能定义,不抽取功能主体,即抽象方法abstract。抽象方法必须存在抽象类中
                特点:1、抽象方法一定定义在抽象类中 2、抽象方法和抽象类都必须被abstract关键字修饰  3、抽象类不可以用new创建对象,因为调用抽象方法没意义 4、抽象类中的方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。Abstract只能抽象类和方法,抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
不可以,类中有抽象方法就必须定义成抽象类,但抽象类中可以没有抽象方法
回复 使用道具 举报
不行,只要类中有抽象方法,类必须是抽象类,要想类不是抽象类,必须弄个派生类重写了抽象方法就不是抽象类了
回复 使用道具 举报
执念 来自手机 中级黑马 2015-3-10 23:54:16
11#
类必须要写adstart...
回复 使用道具 举报
抽象类中可以有抽象方法也可以有普通方法,接口里面是抽象方法
回复 使用道具 举报
不能,必须用abstract修饰
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马