智慧职教: 编写一个程序实现单例模式。 要求如下: 1)在类的内部创建一个该类的实例对象,并使用静态变量引用该对象。 2)类的构造方法声明为私有。 3)定义一个静态方法用于返回该类实例。
参考答案 class SingleExample { private static SingleExample instance; private SingleExample(){} //无参构造方法 public static SingleExample Method() { if(instance==null) { Instance=new SingleExample(); } } }
举一反三
- 创建一个单例模式类Single,保证该类只能有一个实例对象,并为这个类增加一个方法toString()方法返回值为String,返回内容为类名“Single”。创建另一个主类Demo,在main方法中获得类Single的对象,并输出该对象的toString方法的返回值。
- 创建一个单例模式类Single,保证该类只能有一个实例对象,并为这个类增加一个方法printInfo()方法能在控制台输出类名“Single”。创建另一个主类Demo,在main方法中获得类Single的对象,并调用该对象的printInfo()方法的返回值。
- 实例字段。如果类中定义的字段不使用修饰符static,该字段为实例字段,每创建该类的一个对象,在对象内创建一个该字段实例,创建它的对象被撤销,该字段对象也被撤销。如下的实例字段引用方法那个正确? A: 类名.实例字段名 B: 实例名.实例字段名 C: 类名(实例字段名) D: 类名:实例字段名
- 无论我们是否对一个类编写构造方法,JAVA编译器都会自动为这个类添加一个空的构造方法,用于该类的实例对象。
- (静态变量)编程验证静态变量属于类所有,且对类的所有实例来说,都是同一个变量。理解静态变量这一特征。 (1)定义一个汽车类Car,为其定义一个私有的、静态的、int类型成员变量num,并对它进行只读封装,即仅定义公有的get方法,不定义set方法),num变量用来统计该类创建的对象的个数。在Car类中定义一个静态代码块,为Car的num变量设置初始值为0; (提示:可以在构造方法中使num值增1,实现统计功能) (2)定义一个测试类,在测试类的main方法中创建多个Car的对象,之后输出该类的num值,验证统计个数统计是否正确。
内容
- 0
关于线程的创建过程,下面四种说法正确的有哪些?(多选) A: 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法 B: 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法 C: 定义一个实现Runnable接口的类并实现run()方法,创建该类实例对,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法 D: 定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
- 1
在静态方法中可以通过对象实例访问该类的实例变量。
- 2
创建一个接口IShape,接口中有一个求取面积的抽象方法“publicdoublearea()”。定义一个正方形类Square,该类实现了IShape接口。Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建Square类的实例对象,求该正方形对象的面积。
- 3
定义一个学生类Student,描述学生的学号、姓名、成绩属性。定义一个有参构造方法用于创建对象,定义一个方法用于判断学生是否需要补考,返回布尔值。 再定义一个主类,在该类的主方法中使用构造方法创建1个学生对象,给对象的各个成员变量赋值,并调用它的方法,输出该学生是否需要补考。
- 4
类变量(静态变量)在内存中只有一个副本,被该类的所有对象共享。每当创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个副本,互不影响。