如何在不使用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作为参数,并且如果我更改了源类,它将起作用。还有其他方法吗?

+0

是的,你可以声明s为公共和静态 – ryekayo 2015-03-31 18:24:01

+1

在java中它是一个大写字母开始类名称的惯例 - 动态,来源 – Razib 2015-03-31 18:28:35

您可以制作dynamic类公共静态的String s -

public static String s; 

然后你就可以得到它从任何地方像这样的 - 不推荐

dynamic.s  

但在OOP的世界使变量公开。

您也可以作出公开getter方法是这样的(最好的方式)在dynamic讲座

public String getS(){ 
return this.s; 
} 
+0

仍然我得到空.. – Sathish 2015-03-31 19:18:30

+0

因为你没有设置值为's'。在你声明的时候,你可以像这样设置's'的值 - 'String s =“someSampleString”;' – Razib 2015-03-31 19:22:58

+0

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

您可以使用“全局变量”做到这一点。但我不知道这是你在找什么。

无论如何,作为一种风格规则,类的名字应该在CamelCase中。

+0

但源的动态是动态变化。如果使用另一个类的手段。我想使用动态类创建一个jar文件,源文件是客户端,我将如何得到那个.. – Sathish 2015-03-31 18:38:34

+0

因此,你说你不想传递s作为参数? 对于这个问题,我认为你可以使用接口,你认为它可以对你有好处吗? – 2015-03-31 18:46:05

+0

K thankz。我会试试看。 – Sathish 2015-03-31 19:17:53