黑马程序员技术交流社区
标题:
abstract class和interface
[打印本页]
作者:
倪鹏博
时间:
2012-3-5 00:24
标题:
abstract class和interface
本帖最后由 倪鹏博 于 2012-3-5 00:28 编辑
abstract class和interface这两个有什么区别?
最好举例说明下!谢谢
作者:
黑马肖凯骏
时间:
2012-3-5 00:29
abstract class 抽象类,可以里面有抽象的方法 也有非抽象的方法
interface 接口类,可以看成是只有抽象方法的抽象类
就是这样的区别了!
作者:
djx900
时间:
2012-3-5 00:48
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用
作者:
刘泰
时间:
2012-3-5 12:43
例子:
abstract class B {
void number(){};
void first(){
System.out.println("abstact中可以定义有方法体的方法");
}
}
interface B {
void number();
void first(){ //这样就会出错
System.out.println("abstact中可以定义有方法体的方法");
}
}
interface B {
void number();
void first();
}
即在接口中的方法不能有方法体,可以说是纯抽象的方法,{}也不能有的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2