首页 > 试题广场 >

抽象类和接口的区别,一下说法错误的是

[单选题]
抽象类和接口的区别,一下说法错误的是
  • 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。
  • abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。
  • 在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法默认都是 public abstract 类型的。
  • abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"has-a"关系,interface表示的是"is-a"关系。
抽象类表示的是is-a关系,强调的是从属关系;
接口表示的是like-a关系,强调的是功能。
发表于 2019-08-25 09:37:25 回复(0)
因为看不懂D,所以选了D...结果蒙对了
发表于 2019-09-09 11:50:51 回复(1)
抽象类的设计理念是is-a,接口的设计理念是like-a
发表于 2019-08-21 12:00:06 回复(0)
接口和是可以被任何类进行实现的,他不会因所属类别的不同导致不会被实现,所以接口中的方式是public类型的,但是抽象类只能被某些特定的类所继承,只有可以继承他的类才能实现其功能,所以里面的方法默认是private类型的
发表于 2019-09-15 15:42:55 回复(0)
jdk1.9接口支持私有方法


发表于 2019-10-23 15:01:53 回复(0)

抽象类 is-a

接口 like-a

发表于 2019-10-17 08:57:46 回复(0)
Java9是支持私有方法的,希望出题的时候能注明一下版本。。
发表于 2019-09-04 10:49:33 回复(1)

接口中不能有私有方法和私有属性,抽象类中可以有私有方法和私有属性

发表于 2019-09-03 12:57:37 回复(0)