大家好,今天小编关注到一个比较有意思的话题,就是关于java语言abstract的问题,于是小编就整理了5个相关介绍Java语言abstract的解答,让我们一起看看吧。
- java中抽象方法不能为private,final或者static,为什么?细细说明,或给个例子?
- java中抽象类可以被实例化吗?
- 抽象函数的定义?
- thread类是抽象类吗?
- Java教程里抽象类的意义是什么?如何使用抽象类?
JAVA中抽象方法不能为private,final或者static,为什么?细细说明,或给个例子?
两种角度看。从语法的角度看,就是禁止抽象的 static 方法。从设计的角度看,允许抽象类有抽象的 static 方法没有意义。
1. static 方法不是属于任何一个具体对象的,它不表示对象的行为,而抽象类是用于抽象属于此类对象的行为,而不是用来抽象类本身。
2. j***a中需要静态方法,主要原因是函数只能挂在类下面,像kotlin这种语言,因为函数可以和类平级,所以干脆禁止了static 成员。
j***a中抽象类可以被实例化吗?
我们可以明确告诉你,J***a中的抽象类不可被实例化。
因为抽象类的目的跟是一样的,将某一些类的共有操作进行抽取,从而提高代码的重用,减少代码冗余。只不过抽象类相对于接口而言,可以拥有自己的非抽象成员罢了。
当然,抽象类虽然不能被实例化,但却有构造器,这里我们需要明白一点,构造器是用来在对象实例化时进行一些初始化操作,而不是通过调用构造器来对象进行实例化。而抽象类中构造器的作用仅仅是为了让子类在初始化的时候可以调用其构造器来对自己进行初始化。
说这么多,估计很多人还是一头雾水,我写个例子我想应该就有很多人明白了。
抽象类:狗类
实体类:金毛
测试类一:直接实例化抽象类
抽象函数的定义?
抽象函数是指在面向对象编程中,一个只有声明而没有具体实现的函数。它是一个抽象的概念,用于定义一个类或接口中的行为,但没有具体的实现细节。
在许多编程语言中,可以使用关键字(如J***a中的"abstract")来定义抽象函数。抽象函数通常存在于抽象类或接口中,它只包含函数的声明,而没有函数体。具体的实现细节由继承或实现该抽象类或接口的子类来完成。
1. 只有函数的声明,没有具体实现。
2. 必须在抽象类或接口中定义。
3. 子类或实现类必须实现抽象函数,否则子类也必须声明为抽象类。
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点解答对大家有用。