Ⅰ java中构造函数也能私人化用PRIVATE开头为什么还有构造函数私人化后怎么NEW实例
首先,一般不会这么定义。一般情况构造函数都是public的,但是,下面这种情况的private构造函数也是可以被调用的:
public class
{
private static String ID= 1; //静态保存一个序列号(由1开始)
private int age;
private String name;
private class(String aname,int aage) //私有构造器,无法通过外部建构
{ //如 class a = new class("XXX",18); 无法构建
this.name = aname;
this.age = aage;
}
public class(age) //外部构造器,可以构建 class a = new class(18);
{
this("Employee #" + ID ,age); //外部构造器内部调用另一内部构造器
ID++;
}
}
上面这个例子比较典型了,我举这个例子只是说,内部构造器可以被调用,并不是说这样做效率最高或有什么特殊含义,真正好不好用还要在实际中摸索。
上述例子适用于“构建后,名称需要统一为Employee #X 的情况。若没有这样的规定,个人认为private class(String aname, int aage) 还是定义为public比较灵活。
至于this重载构造函数的方法,请你另行查阅。( this("Employee #" + ID ,age); )
Ⅱ JAVA中把类的构造函数设为私有的好处是
这就是单例模式啊 看需求 如果整个应用对于某个类只需要1个实例,或者只能是同一个实例的话,就应该设成单例。在WEB应用方面,如果是无状态的(即无需记录用户状态的类)就可以设计为单例。
设计模式不存在好处和坏处,只是更适合用在哪里。
Ⅲ JAVA中把类的构造函数设为私有的好处是
类的构造方法一般为public,
若为private,那就是该类的对象也是私有的,只有该类才能构造对象,外部不能创建该类的对象
Ⅳ JAVA中构造方法私有化的作用是什么
构造方法是私有的,则意味着无法从除自身之外的任何类访问它。这是Java提供的访问控制机制。
使用得当,它可以产生安全性和功能性。构造函数(如常规方法)也可以声明为私有。可能想知道为什么需要一个私有构造函数,因为它只能从它自己的类访问。

(4)java私有构造函数扩展阅读:
工作原理
由四方面组成:
1,Java编程语言。
2,Java类文件格式。
3,Java虚拟机。
4,Java应用程序接口。
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。
通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
Ⅳ java中构造函数的特点
1.构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带有返回值。
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值,即使是void返回值。尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的。
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的。
4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。而一般的方法不存在这一特点。
5.当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。
Ⅵ java,构造方法是私有方法吗,可以被子类覆盖吗
可以被私有化。用的比较多的是单例模式中, 你可以去网上搜索一下单例模式
构造函数特点:
构造函数的名字必须和类名完全相同,构造函数不能有
返回值,就是void 也不要写,构造函数不可以被子类继承
构造函数可以重载但是不可以被子类覆盖。
Ⅶ 可以在java构造函数是私有的吗
因为Person类的构造方法是私有的,所以我们不能直接利用其构造方法去实例化一个对象,但这个类提供了一个公有静态方法getP,该方法的返回值就是一个Person类对象的引用,该引用就是静态成员p,我们也只能通过这个方法去得到一个Person类的实例,23行与24行当然是同一个引用了,只不过前一行是声明,后一行是给这个引用变量赋了值而已
Ⅷ java语言中,构造函数的作用是什么
Java类至少包含一个构造器,如果没有定义,那么系统会为这个类提供一个无参构造器。
构造函数是在创建给定类型的对象时执行的类方法,它通常用于初始化数据成员
如果该类中定义了一个私有的构造函数,那么这个类就不能被new
Ⅸ 为什么在java中单例设计模式要私有化该类构造函数
私有化构造函数时单例模式的实现方式。也就是不拥有调用者自己去构造这个类。如果允许了 随时可以通过构造函数去构造一个此类的对象。也就不是单例设计了。
Ⅹ JAVA中构造方法私有化的作用是什么
将一个类的构造函数私有化,可以使得该类不被实例化,和不能被继承。要创建这个类的实例,唯一的办法是提供一个公共静态方法。这种方式被称为单例模式。
私有化代码示例如下:
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();
}
}

(10)java私有构造函数扩展阅读:
java 构造函数的执行过程
类初始化时构造函数调用顺序:
(1)、初始化对象的存储空间为零或null值;
(2)、调用父类构造函数;
(3)、按顺序分别调用类成员变量和实例成员变量的初始化表达式;