黑马程序员技术交流社区

标题: 抽象类、 [打印本页]

作者: 黑马-陈思源    时间: 2013-4-5 13:50
标题: 抽象类、
没有被abstract修饰的类中可以有abstract方法吗?
作者: london1908    时间: 2013-4-5 13:55
不可以的!运行的时候会报错,毕向东老师讲过!具体原因真忘记了!{:soso_e113:}!
作者: Friendy89    时间: 2013-4-5 13:58
不可以,
抽象类特点:
  1,抽象方法一定定义在抽象类中。
  2,抽象方法和抽象类都必须被abstract关键字修饰。
  3,抽象类不可以用new创建对象,因为调用抽象方法没意义。
   4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。如果子类 只覆盖部分抽象方法,那么该子类还是一个抽象类。


作者: _王涛    时间: 2013-4-5 14:04
Friendy89 发表于 2013-4-5 13:58
不可以,
抽象类特点:
  1,抽象方法一定定义在抽象类中。

不可以,二楼正解....
作者: HM刘俊    时间: 2013-4-5 14:50
抽象方法一定定义在抽象类中。
抽象方法和抽象类都必须被abstract关键字修饰。

没有被abstract修饰的类中不可以有abstract方法,
但被abstract修饰的类中可以没有abstract方法。。
作者: 黄玉昆    时间: 2013-4-5 20:22
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者: 刘林虎    时间: 2013-4-5 22:53
abstract 修饰符可以用于类、方法、属性、事件和索引指示器(indexer),表示其为抽象成员   abstract 不可以和 static 、virtual 一起使用   声明为 abstract 成员可以不包括实现代码,但只要类中还有未实现的抽象成员(抽象方法),那么这个类就是一个抽象类,抽象类的对象就不能被实例化,通常用于强制继承类必须实现某一成员.抽象类是必须要派生子类的。并且,如果子类没有实现抽象基类的所有方法,则子类也成为一个抽象类。

public abstract class MyAbstractClass {   public void test1(){ // 一个正常的方法   }   public abstract void test2(); // 一个抽象方法。   }   提示,如果JAVA类的任何一个方法是abstract的,则类本身必须是abstract的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2