首页编程java编程在java中什么不能实例化,在Java中,一个类不能被实例化的原因有哪些

在java中什么不能实例化,在Java中,一个类不能被实例化的原因有哪些

编程之家2023-10-1298次浏览

今天给各位分享在java中什么不能实例化的知识,其中也会对在Java中,一个类不能被实例化的原因有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

在java中什么不能实例化,在Java中,一个类不能被实例化的原因有哪些

java抽象类不能实例化

很简单,抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor,jet,fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化

java 为什么接口不能实例化

接口不可以实例化,但是接口对象可以指向它的实现类对象。

接口可以看做特殊的抽象类,只是所有的方法都是抽象方法(没有实现的方法),接口的方法都是默认public abstract的,所以接口不能被实例化。

在java中什么不能实例化,在Java中,一个类不能被实例化的原因有哪些

举个列子:

List Set Map都是接口,使用时先实现他们的类对象:

List<String> list= new ArrayList<>();

在java中什么不能实例化,在Java中,一个类不能被实例化的原因有哪些

Factory接口可以用来代表实现它的类。

比如:

public interface thing;

public class fruit implements thing;

thing something= new fruit();

这个something指的就是水果。

接口编程是为了实现多继承。

在Java中,一个类不能被实例化的原因有哪些

(1)接口

(2)抽象类

(3)构造方法的访问权限为私有

其实并不是不能被实例化,也可以直接在new对象时实现其实例化,比如Student是接口:

Student student= new Student(){

//具体在这里实现接口里的抽象方法

public void setName(){

..........

}

}

大概是在这样吧!至于内部类,应该是可以实例化的,只不过它是依赖外部类的对象来实例化,也就是在实例化内部类对象之前,必须存在外部类的实例化对象。

Java中的抽象类为什么不能实例化

首先抽象类不能实例化是一个java的语法规范。

抽象类中是可以包含抽线方法,不是必须。如果一个抽象类没有一个抽象方法,那么他和一个普通java类就没有任何区别了,也就是说,在这种情况下又没有abstract修饰都是一样的。定义了一个包含抽象方法的抽象类,其子类在继承自该抽象类的时候,子类就必须实现父类的所有抽象方法。之所以在java变成中存在这样一个语法规范,就是为了定义这种类型结构来解决生活中这样的一些实际问题。

比如举一个简单例子:

父亲(抽象类)是一个残疾人,他一生都想着要去见义勇(父类的抽象方法)为帮助他人,但是由于自生残疾行动不便,然后他就要求其所有的儿子(继承自抽象类的子类)能实现他的这个愿望(继承父类的抽象方法)。然而每一个儿子在实现父亲想见义勇为这个愿望的时候,每个儿子的做法是不一样的。大儿子喜欢这种方式的见义勇为(子类一有其自己的实现方法),二儿子喜欢其他的见义勇为的方式(子类二有其自己的实现方法)....因此java的抽象类就是用在这种场景中,解决这种问题的。

文章到此结束,如果本次分享的在java中什么不能实例化和在Java中,一个类不能被实例化的原因有哪些的问题解决了您的问题,那么我们由衷的感到高兴!

娘道一共多少集(娘道一共多少集大结局是什么样的)java 以什么结尾 java怎么判断一个字符串以什么结尾