如何在不使用java参数的情况下访问不同类的值?
例如,我的程序是这样的, 一个java文件,这是我的固定类。如何在不使用java参数的情况下访问不同类的值?
class Dynamic{
String s;
public void program(){
System.out.println(s);
}
}
这里另一个Java文件,这是一流的动态,
class Source{
public static void main(String[] args)
{
String s = "Hello world";
Dynamic d=new Dynamic();
d.program();
}}
我想打印S IN动态类。我不想使用s作为参数,并且如果我更改了源类,它将起作用。还有其他方法吗?
您可以制作dynamic
类公共静态的String s
-
public static String s;
然后你就可以得到它从任何地方像这样的 - 不推荐
dynamic.s
但在OOP的世界使变量公开。
您也可以作出公开getter
方法是这样的(最好的方式)在dynamic
讲座
public String getS(){
return this.s;
}
仍然我得到空.. – Sathish 2015-03-31 19:18:30
因为你没有设置值为's'。在你声明的时候,你可以像这样设置's'的值 - 'String s =“someSampleString”;' – Razib 2015-03-31 19:22:58
public class Source { public static void main(String [] args){ \t \t // TODO Auto-生成方法存根 \t \t Dynamic d = new Dynamic(); \t \t d.program(); \t \t Dynamic.s =“sahtish”; String s =“sathish”; \t} } public class Dynamic { \t public static String s; \t public String getS(){ \t \t return this.s; (){ \t} \t public void program(){ \t \t System.out.println(s); \t} }。这是我的新代码..但它打印空.. – Sathish 2015-03-31 19:46:39
是的,你可以声明s为公共和静态 – ryekayo 2015-03-31 18:24:01
在java中它是一个大写字母开始类名称的惯例 - 动态,来源 – Razib 2015-03-31 18:28:35