java

来源:互联网 发布:网页在线人数统计php 编辑:程序博客网 时间:2024/06/13 02:32

1. 接口和抽象类的区别是什么?

当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口。

接口是对动作的抽象,表示这个对象能做什么,对类的局部行为进行抽象。

抽象类是对根源的抽象,表示这个类是什么,对类的整体进行抽象,对一类事物的抽象描述。
  
比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。

人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.


所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。


接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类


2.线程的几种可用状态

新建(new)、可运行(runnable)、运行(running)、阻塞(block)、死亡(dead)


3.什么是死锁(deadlock)?

答:两个线程或两个以上线程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是这些线程都陷入了无限的等待中。

0 0
原创粉丝点击