Java中怎么让一个类只能生成一个对象

作者&投稿:政瞿 (若有异议请与网页底部的电邮联系)
Java 一个类能创建多个对象吗~

一个类通过使用new运算符可以创建多个不同的对象。这些对象将分配不同的内存空间,因此改变其中一个对象的状态不会影响其他对象的状态。

应用Singleton单例模式

public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
if (instance==null)
instance=new Singleton();
return instance;
}
}
调用Singleton.getInstance()获得唯一实例。

同意一楼,使用JAVA反射机制中的单例模式,既该类构造方法为private,在自身创建一个静态的对象,给一个公共方法获取该对象,
对一楼的例子进行扩充
例:public class A{
private static A a = new A(); //声明为static是为了确保只有一个对象存在,详见static修饰符
private A(){} //构造方法为private,此类无法创建对象
public static A getA(){
return a;
}
}
当使用时: A b = new A();//错误做法,无法获取对象
A b = A.getA();//正确做法

好像不可以吧,只能说对类进行保护。

看用static计数器是不是你想要的,类只能被装载一次,第二次装载的时候就会抛出一个运行时异常
public class Main {
public static int objectCount = 0;
public Main() {
if(objectCount!= 0) {
throw new RuntimeException();
}
objectCount++;
}
public static void main(String[] args) {
Main m1 = new Main();
try {
Main m2 = new Main();
}catch(RuntimeException exp) {
System.out.println("Can not make multiple Object!");
}finally {
System.out.println("Continue...");
}
}
}

有个设计模式叫单例,单例的类就只能生成一个对象。
public class Sigleton {
private Sigleton instance = new Sigleton();
private Sigleton(){}
public static Sigleton getInstance(){
return instance;
}

}
以上写了个最简单的实现。可以参考一下

这就是所谓的单例模式,baidu搜下就有了。
就是把构造方法设为private,然后自己控制一下。


java中怎么让一个类的可以被多个类共享其属性的值。意思就是值被修改...
public static double 钱 = 100;} public class 我自己{ \/\/给我的我的钱包里放点钱 我的钱包.钱 = 1000;} public class 别人{ \/\/别人来了,也在我的钱包里放了点钱。哈哈。这是好的时候哦!我的钱包.钱 = 12000;} 这是我的钱包里的钱是被大家所共享,所以其中的钱的值会被后一次赋值...

java中怎么才能让一个类用另一个类的方法
A要用B类的方法,方法一:extendA类继承B类就可以重写B类中的方法进行调用 方法二:在A类中new B();实例化一个B类对象,通过该对象调用B类方法。

java怎么让一个正数变成负数
Java中可以通过不同的方式将一个正数变成负数。以下是几种常见的方法:1.使用负号将正数取反点击学习大厂名师精品课这是最简单的方式。直接在数字前加一个负号即可,例如:```intnum=10;intnegativeNum=-num;\/\/negativeNum将会是-10```2.通过减去2倍的值这种方法是将正数减去两倍的值,例如:```i...

Java中怎么让一个类只能生成一个对象
同意一楼,使用JAVA反射机制中的单例模式,既该类构造方法为private,在自身创建一个静态的对象,给一个公共方法获取该对象,对一楼的例子进行扩充 例:public class A{ private static A a = new A(); \/\/声明为static是为了确保只有一个对象存在,详见static修饰符 private A(){} \/\/构造方法为pr...

在Java中我怎么让一个被循环调用的方法中的一条赋值语句只执行一次...
你可以加个全局成员变量,表示上次执行的结果。方法内检测如果结果为空,则执行查询。否则直接返回变量的值。

让Java程序只运行一个实例
我们可以很方便地让我们的Java程序实现在内存里面只有一个运行实例这个功能 而且这个功能的实现是与平台无关的 实现 我们先来看看第一种情况是如何实现的 也就是说如果系统中已经存在运行实例的话 那么结束原有的运行实例 让新实例运行 这个实现实例控制的Java类也是一个线程 具体的实现如下 import *...

java 怎么让一个class只可以被本项目使用,其他项目引用不到
你可以把这个class放在要引用的类的内部,变成一个private class。如果是本项目好几个类要用这个类,那就没有什么一定不能让人引用的方法了,比如你可以把这个类放在一个package里并定义为只能从这个package访问,但是你不能阻止别人定义一个相同名字的package并引用这个class。主要还是要看你不让其它项目...

java中如何让给一个一维数组自动赋给100个值
你好,这取决于你要赋什么样的值,如果你需要赋你想要的值,比如从0到100,你需要用循环去做。但是,其实在java中,数组作为一个对象,已经被赋予了初值,你可以试试以下代码。class Test { public static void main(String[] args) { int[] ints = new int[100];System.out.println(ints[9]...

java中如何让一个变量的值为上一次程序结束时候额值
每次程序启动的时候,去读取之前保存的数据。方案 一,存到记事本等文件里,需要的技术是IO流知识 二,存到数据库中,需要JDBC和数据库的知识 三,存到XML中,需要 解析XML的知识 四,存到properties(配置文件),需要Properties类知识 五,存到网络上,通过网络进行数据传输,需要网络编程知识 ...

我的世界怎么强制让一个玩家发言 说指定的话?
这里需要用到execute指令,execute @a[name=你想要说话的人] ~ ~ ~ say 你想要他说的话。命令(Command)是通过输入特定文本字符串而激活的高级功能。服务器游戏中,获得了管理员(Operator)权限的玩家可以使用绝大多数指令,而无权限的玩家可以使用的指令通常很少。Java版在1.1版加入了指令,携带版(...

威宁彝族回族苗族自治县15111163777: Java中怎么让一个类只能生成一个对象 -
植茜苯甲: 同意一楼,使用JAVA反射机制中的单例模式,既该类构造方法为private,在自身创建一个静态的对象,给一个公共方法获取该对象,对一楼的例子进行扩充 例:public class A{ private static A a = new A(); //声明为static是为了确保只有一个对象存在,详见static修饰符 private A(){} //构造方法为private,此类无法创建对象 public static A getA(){ return a; } } 当使用时: A b = new A();//错误做法,无法获取对象 A b = A.getA();//正确做法

威宁彝族回族苗族自治县15111163777: 如何控制JAVA中一个类只能生成一个对象 -
植茜苯甲: 最简单的办法,在类里创建一个对象,赋一个get方法,返回这个对象.public class Emp{ private static Emp emp=new Emp(); public static Emp getEmp(){ return emp; } }每次需要new对象的时候直接调get方法,这样调.Emp emp=Emp.getEmp(); emp.setName("lisi"); Emp emp1=Emp.getEmp(); emp1.setAge(18); System.out.println(emp.getName()+" "+emp.getAge());

威宁彝族回族苗族自治县15111163777: java对已有的类怎么限制只生成一个实例 -
植茜苯甲: 你好,你可以写一个容器,在容器里面装这个类的实例,每次用的时候检查下容器里面有没有这个实例,如果没有你就用反射为这个类产生一个实例,并且存放到容器里面去,如果容器本身已经有这个类的实例了,就直接拿来用就行了,..这是我个人的想法,希望对你有帮助

威宁彝族回族苗族自治县15111163777: 什么是单例设计模式 -
植茜苯甲: java模式之单例模式:单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例.特点:1,一个类只能有一个实例2,自己创建这个实例3,整个系统都要使用这个实例例: 在下面的对象图中,有一个"单例对象...

威宁彝族回族苗族自治县15111163777: JAVA中什么是单件模式?如何实现单件模式? -
植茜苯甲: 单例模式!就是 一个类 在它 的作用域内,能且只能 生成一个对象,所有用它定义的对象都是操作那一个对象!实现模式 是这样的:class testSingleton { static testSingleton instance;//类的单例 private testSingleton{};//私有的构造函数 public static testSingleton getInstance()//返回 单例 { if(instance == null) instance = new testSingleton(); return instance; } }

威宁彝族回族苗族自治县15111163777: 如何在JAVA的类中只创建一个实例
植茜苯甲:你说的是JAVA中的设计模式之一—单例模式Singleton Singleton 模式主要作用是保证在Java应用程序中,一个类Class 只有一个实例存在. 一般Singleton 模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为private 的,它有一...

威宁彝族回族苗族自治县15111163777: JAVA面试题 - --设计一个类,该类只能生成一个实例 -
植茜苯甲: 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了.这个设计模式主要目的是想在整个系统中只能出现一个类的实例.这样做当然是有必然的,比如你的软件的全局配置信息...

威宁彝族回族苗族自治县15111163777: java嵌套类 -
植茜苯甲: 平时你做复杂的东西的时候是这个逻辑吧,要改哦.一般意义上说的一java文件只能有一个public 类,是说一个java文件中跟java文件同名的类,还有和这类并列的其他类中,只能有一个公开的程序入口(就是main函数)类,而且必须是和java文件同名的那个类.如果你常用dos命令启动java程序,应该多少会理解点.至于内部类有点特殊,它可以用public修饰是因为1.它本身就是外部类的一部分,和它的外部类不属于同一级别(可以看做外部类的一个属性);2.它可以用public修饰,但它却不能作为程序入口类,不信你可以在内部类里写个main方法,编译都通不过.

威宁彝族回族苗族自治县15111163777: 一个java文件里怎么写多个类 -
植茜苯甲: 一个.java文件中可以有很多类.不过注意以下几点: 1、public 权限的类只能有一个(也可以一个都没有,但最多只有1个) 2、这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口.) 3、若这个文件中没有public的类,则文件名随便是一个类的名字即可 4、用javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件

威宁彝族回族苗族自治县15111163777: 一个".java"源文件中是否可以包括多个类?有什么限制 -
植茜苯甲: 就是一个java文件里可以写多个类,但是只有一个public修饰的类,如下 public class A { } class B { } class C { } // 等等任意多个类,但是只有一个public class

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网