大家好,今天小编关注到一个比较有意思的话题,就是关于java语言abstract的问题,于是小编就整理了5个相关介绍Java语言abstract的解答,让我们一起看看吧。
- java中抽象方法不能为private,final或者static,为什么?细细说明,或给个例子?
- 什么类中可以有abstract方法?
- thread类是抽象类吗?
- 抽象类中的方法不一定是抽象方法吗?
- Java教程里抽象类的意义是什么?如何使用抽象类?
JAVA中抽象方法不能为private,final或者static,为什么?细细说明,或给个例子?
两种角度看。从语法的角度看,就是禁止抽象的 static 方法。从设计的角度看,允许抽象类有抽象的 static 方法没有意义。
1. static 方法不是属于任何一个具体对象的,它不表示对象的行为,而抽象类是用于抽象属于此类对象的行为,而不是用来抽象类本身。
2. j***a中需要静态方法,主要原因是函数只能挂在类下面,像kotlin这种语言,因为函数可以和类平级,所以干脆禁止了static 成员。
什么类中可以有abstract方法?
在J***a中,只有抽象类和中可以包含抽象方法。抽象类是用来表示一种抽象的概念或者基类,它可以包含一些实现了的方法和一些未实现的抽象方法。
接口是一种完全抽象的类型,只包含抽象方法和常量字段,没有任何实现。抽象方法是为了让子类或者实现类来实现具体的功能,同时保留了抽象类或接口的结构和约束。通过定义抽象方法,可以实现代码的重用和扩展性,同时也可以定义规范和接口。因此,抽象类和接口中可以有抽象方法。
thread类是抽象类吗?
Runnable是接口,Thread是抽象类。
Thread和 Runnable是两个完全不同的概念, Thread表示一个线程, 而runnable是一个接口,有一个run方法。 你可以把runnable理解成一个可执行的, 表示一个要去执行的任务。 把runnable传给一个thread相当于把任务分配给了一个线程。
抽象类中的方法不一定是抽象方法吗?
它时一个去除对象中不重要的细节的过程,只有那些描述了对象的本质特征的关键点才被保留。例如:苹果、香蕉,普通,桃子等。它们的共同特征就是水果。得出水果概念的过程,就是一个抽象的过程。 抽象类和方法的目的就是把多个类的共有属性拿出来,单独作为一个类来让其他类去继承。
抽象类在什么情况下比较适用
J***a教程里抽象类的意义是什么?如何使用抽象类?
抽象的简单目的是为了重用;直观点就是能够少复制,甚至做到同一逻辑,在代码中仅出现一次。
抽象类用的地方比较多,如果要入手,可以看看设计模式中的模板方法模式。
需要自己动手去看看。
J***a 类库中的AbstractMap, AbstractList 等等,都可以看看,怎么变成ArrayList等。
然后特别有意思的一个地方,多线程中的AQS 框架。定义了锁的抽象
到此,以上就是小编对于j***a语言abstract的问题就介绍到这了,希望介绍关于j***a语言abstract的5点解答对大家有用。