JAVA中构造方法私有化的作用是什么?

2024年11月11日 05:15
有5个网友回答
网友(1):

构造方法是私有的,则意味着无法从除自身之外的任何类访问它。这是Java提供的访问控制机制。

使用得当,它可以产生安全性和功能性。构造函数(如常规方法)也可以声明为私有。可能想知道为什么需要一个私有构造函数,因为它只能从它自己的类访问。

扩展资料:

工作原理

由四方面组成:

1,Java编程语言。

2,Java类文件格式。

3,Java虚拟机。

4,Java应用程序接口。

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。

通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

参考资料来源:百度百科-Java

网友(2):

如果构造方法是私有的,则意味着无法从除自身之外的任何类访问它。这是Java提供的访问控制机制。

如果使用得当,它可以产生安全性和功能性。构造函数(如常规方法)也可以声明为私有。您可能

想知道为什么我们需要一个私有构造函数,因为它只能从它自己的类访问。当一个类需要阻止调用

者创建对象时。私人建筑师是合适的。对象只能在内部构建。

一个应用是单例设计模式。该策略是该类中只应存在一个对象。所以没有其他类可以访问构造函

数。这确保了类的单实例存在。私有构造函数已在JDK中广泛使用,以下代码是Runtime类的一部

分。

public  class  Runtime  { 

private  static  Runtime currentRuntime =  new  Runtime (); 

public  static  Runtime getRuntime () { 

return currentRuntime ; 

}
//不要让其他人实例化此类

private Runtime () { 

} }

扩展资料:

私有化构造方法一般出现在单例模式中

单例模式是Gang of Four设计模式的一部分,它被归类为创造性设计模式。

就建模而言,它是最简单的设计模式之一,但另一方面,就使用的复杂性而言,这是最具争议的模

式之一。

在Java中,单例模式将确保在Java虚拟机中只创建一个类的实例。它用于提供对象的全局访问点。

在实际使用方面,Singleton模式用于日志记录,高速缓存,线程池,配置设置,设备驱动程序对

象。设计模式通常与工厂设计模式结合使用。此模式也用于Service Locator JEE模式。

网友(3):

将一个类的构造函数私有化,可以使得该类不被实例化,和不能被继承。要创建这个类的实例,唯一的办法是提供一个公共静态方法。这种方式被称为单例模式。

私有化代码示例如下:

package test;

class Some{

    private Some(){}

    public static void dosome(){

        System.out.println("dnali");

    }

}

public class Singeleton {

    public static void main(String[] args) {

        //Some s=new Soem();无法实例化Some的对象

        Some.dosome();

    }

}

扩展资料:

java 构造函数的执行过程

类初始化时构造函数调用顺序:

(1)、初始化对象的存储空间为零或null值;

(2)、调用父类构造函数;

(3)、按顺序分别调用类成员变量和实例成员变量的初始化表达式;

参考资料:百度百科-java 构造函数

网友(4):

构造方法私有化,也就是说,这个类的构造方法是私有的。比如:
public class Person{
private String name;
Private Person(String Name){ //私有的构造方法
this.name = name;
}
}
我们不能在外部实例化这个Person对象的类!
比如:
Public Class TestPerson{
public static void main(String args[]){
Person per = new Person(); //此步是错误的!因为你已经将person类的构造方法设置为
private 了
}
}
如果我们想在Person类的外部使用Person类的对象,只能在person类的内部实例化一个Person类的对象,然后调用这个对象,而不能再外部实例化新的对象。
public class Person{
private String name;
Private Person newPerson; //Person类唯一的实例化对象
Private Person(String Name){ //私有的构造方法
this.name = name;
}
newperson = new Person("百度知道");
Public Person getInstance(){ //将newperson返回给外部调用处!!!
return newperson;
}
}
外部的Person类的所有对象只能是对Person内部newperson对象的引用。
外部一千一万个对象也都只能是对Person内部newperson对象的引用。
因为外部定义的Person类对象没有实例化能力。这就是单例设计模式,从头至尾只有一个对象的实例(单例)

网友(5):

构造方法的作用是什么? 自动的做一些初始操作,让你的对象真正成为可用的有意义的对象,把对象的基本初始操作封装起来,这也是OO的基本特征。 分配