类成员的可访问性(不管怎么设计,实现某一个类在内存中只能调用一次)单态设计模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了类成员的可访问性(不管怎么设计,实现某一个类在内存中只能调用一次)单态设计模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2261字,纯文字阅读大概需要4分钟。
内容图文
![类成员的可访问性(不管怎么设计,实现某一个类在内存中只能调用一次)单态设计模式](/upload/InfoBanner/zyjiaocheng/981/09125da915b9400eb5c0f34bc0464487.jpg)
为了控制创建对象的个数,需要收回创建对象的权利,下面想办法设置Teacher为内存中唯一对象,在Text中创建并使用Teacher;
Teacher
package cn.net.sdkd.cise;
public class Teacher {
private Teacher() {//创建对象的权利收回,由类自己提供
}
}
Text
import cn.net.sdkd.cise.Teacher;
public class Text {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Teacher t;//刚开始的时候会报错,所以需要import导入Teacher这个类;
//Teacher t=new Teahcer();//这里会报错是因为在Teacher中Teacher()是私有的,外部无法使用;
}
}
出现以上的情况,无法在Text中创建Teacher对象之后,只能通过Teacher类来访问,而且在Teacher类中需要提供一种方法,并且这种方法必须是public类型的。
Teacher
package cn.net.sdkd.cise;
public class Teacher {
private Teacher() {//创建对象的权利收回,由类自己提供
}
public Teacher getTeacher() {//这个是在Teacher类中提供的一种public方法;
return new Teacher();//自己的类中,可以使用私有成员,但是这样做的每次都返回一个新对象,这样的话,对象的个数又超过了一个;
}
}
上面这样做的话,每次都返回一个新对象,这样的话,对象的个数又超过了一个,所以需要做如下改动;
package cn.net.sdkd.cise;
public class Teacher {
private Teacher t;
private Teacher() {//创建对象的权利收回,由类自己提供
}
public Teacher getTeacher() {//这个是在Teacher类中提供的一种public方法;
if(t==null) {
t = new Teacher();
}
return t;//自己的类中,可以使用私有成员,但是这样做的每次都返回一个新对象,这样的话,对象的个数又超过了一个;
}
}
在Text中,因为无法通过Teacher t=new…来创建对象,所以想通过类直接访问,但是在Teacher中getTeacher() 是一个普通方法,普通方法必须首先要生成对象,但是生成对象也没法生成,所以getTeacher()如果是普通方法的话是没法用的,必须设置为static,这样在Text中才可以通过类直接使用。
Text
import cn.net.sdkd.cise.Teacher;
public class Text {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Teacher t1=Teacher.getTeacher();//刚开始的时候会报错,所以需要import导入Teacher这个类;
Teacher t2=Teacher.getTeacher();
if(t1==t2) {
System.out.println("same");
}
}
}
Teacher
package cn.net.sdkd.cise;
public class Teacher {
private static Teacher t;//static类型的,因为在静态方法中使用;
private Teacher() {//创建对象的权利收回,由类自己提供
}
public static Teacher getTeacher() {//这个是在Teacher类中提供的一种public方法;//static类型的,因为需要通过类直接访问;
if(t==null) {
t = new Teacher();
}
return t;
}
}
内容总结
以上是互联网集市为您收集整理的类成员的可访问性(不管怎么设计,实现某一个类在内存中只能调用一次)单态设计模式全部内容,希望文章能够帮你解决类成员的可访问性(不管怎么设计,实现某一个类在内存中只能调用一次)单态设计模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。