Java里面能不能定义一个全局对象
普通的变量可以通过staticfinal定义为全局变量,那么我现在创建了一个类的具体实例(对象),那么这个对象能不能定义为全局对象,所有的类都可以使用它,如果可以怎么定义...
普通的变量可以通过 static final 定义为全局变量,那么我现在创建了一个类的具体实例(对象),那么这个对象能不能定义为全局对象,所有的类都可以使用它,如果可以怎么定义,如果不可以,可有其他的方法??
展开
3个回答
展开全部
你是学C的吧
在Java里没有全局一说
所有的变量,对象,都必须定义在类里.
所有的访问控制都必须是以下4中之一
public,protected,(默认不写),private
public的访问级别最宽松,可以被其他类访问,应该是你要的
这样定义
public class MyClass{}
public Interface ICommonVars{
public static final MyClass MY_CLASS = new MyClass();
}
可以在任意可使用变量的地方使用ICommonVars.MY_CLASS
但是这不是个好的设计, 可以考虑考虑 单例模式,享元模式, 工厂模式, 状态模式, 策略模式 根据需要尝试一下
在Java里没有全局一说
所有的变量,对象,都必须定义在类里.
所有的访问控制都必须是以下4中之一
public,protected,(默认不写),private
public的访问级别最宽松,可以被其他类访问,应该是你要的
这样定义
public class MyClass{}
public Interface ICommonVars{
public static final MyClass MY_CLASS = new MyClass();
}
可以在任意可使用变量的地方使用ICommonVars.MY_CLASS
但是这不是个好的设计, 可以考虑考虑 单例模式,享元模式, 工厂模式, 状态模式, 策略模式 根据需要尝试一下
展开全部
单这个,static final 只是定义成 "protected"的
前面再加 public才是公共的。类也是可以的。
public MyClass myclass;
前面再加 public才是公共的。类也是可以的。
public MyClass myclass;
追问
public MyClass myclass = new MyClass() ? 这样定义不了啊
我不是要这个类是全局的,我是需要这个类的一个具体对象是全局的
追答
class MyClass{
//there is nothing.
}
public class Test{
public static MyClass myclass = new MyClass(); //这个对象myclass不就是公共的了吗。
public static void main(String []aaaaa){
System.out.println(Test.myclass); //在哪都可以访问了。
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个public类 其他的对象不就都可以访问了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询