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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王春晓 中级黑马   /  2013-5-12 23:09  /  3039 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王春晓 于 2013-5-14 15:44 编辑

有抽象方法的类称为抽象类,但是如果一个类定义为抽象类,里面不定义抽象方法可以吗?
abstract class A{
    void run(){}
}

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

10 个回复

倒序浏览
抽象类里面可以啥都没有的
回复 使用道具 举报
可以啊,只是这个类不能创建实例对象
回复 使用道具 举报
有抽象方法的类必须定义为抽象类,但是抽象类里面是可以没有抽象方法的。
回复 使用道具 举报
可以的,
如果类中定义了抽象方法,则该类必须是抽象的,因为使用这个抽象方法是没有意义的。
但是抽象类中可以没有抽象方法,如下代码:但是抽象类不可以实例化,就是不能创建对象。
  1. package cn.test;

  2. public abstract class Abstract {
  3.         public static void run(){
  4.                 System.out.println("aaaa");
  5.         }
  6.         public static void main(String []args){
  7.                 run();
  8.         }

  9. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
本帖最后由 郑元皓 于 2013-5-12 23:36 编辑

(刚才回答有点乱。重新归纳了下,请见谅)
可以的。
抽象类中可以没有抽象方法。但是有抽象方法的肯定是抽象类,
抽象类不可以实例化,因为抽象方法没意义,无法创建对象,抽象类
是提供功能的具体实现形式,还是需要由子类来实现的,这就强迫了子类复写抽象类中的抽象方法。进行方法提供。
回复 使用道具 举报
rosv 中级黑马 2013-5-12 23:26:04
7#
可以的     
回复 使用道具 举报
楼主,注意结贴。。。
回复 使用道具 举报
郑元皓 发表于 2013-5-12 23:18
(刚才回答有点乱。重新归纳了下,请见谅)
可以的。
抽象类中可以没有抽象方法。但是有抽象方法的肯定是抽 ...

正解,学习了
回复 使用道具 举报
   抽象类可以有参数 可以有构造方法 和一般的类没有区别  但是  只要一个类有了抽象方法 那他一定是抽象类  
         
回复 使用道具 举报
Sword 金牌黑马 2013-5-13 22:35:32
11#
如果问题未解决,请继续追问,如果问题解决了,请点击你的帖子下面的"编辑"重新编辑帖子,将分类改为“已解决”,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马