Java 如何从其他类获取var

Java 如何从其他类获取var,java,android,eclipse,class,Java,Android,Eclipse,Class,我想我有一个简单的问题。。。。但对我这个初学者来说,我再也看不见了 在一个类中,我想从另一个类中获取一些var 第1类: package com.blabla; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.prefere

我想我有一个简单的问题。。。。但对我这个初学者来说,我再也看不见了

在一个类中,我想从另一个类中获取一些var

第1类:

package com.blabla;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class SMSReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    //get shared preferences

    GetSettings test1 = new RingSettings();
    String theSMStext = test1.getSMStext();
    Boolean theActivateSMS = test1.getActivateSMS();    
}
}
第2类:

package com.blabla;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class GetSettings {

/**
 * @param args
 */
private String SMStext;
private Boolean ActivateSMS;


public static void RingSettings(Context context) {
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);

    String SMStext = sp.getString("SMStext", "0");
    Boolean ActivateSMS = sp.getBoolean("ActivateSMS", false);
}

public String getSMStext(){
    return SMStext;
}

public Boolean getActivateSMS(){
    return ActivateSMS;
}
}
Eclipse在class1中给了我“RingSettings无法解析为类型”=>在GetSettings test1=new RingSettings()


我做错了什么

这里你肯定有一些事情要解决

  • GetSettings中定义的RingSettings返回类型void,而不是GetSettings对象
  • RingSettings定义为将上下文作为参数
  • RingSettings被定义为GetSettings对象的方法,应使用GetSettings.RingSettings(上下文)调用
  • 假设您正在尝试创建GetSettings对象。。。GetSettings应该有一个构造函数
这些只是开始的几个。在这里我并不想粗鲁,但您应该使用一些更简单的示例来更好地学习Java的基础知识。也就是说,如果您解决了上述问题并重新发布代码,那么应该有人能够让您更接近您的目标

new
关键字上查看此信息:(开始)


祝你好运

最简单的解决方案是实现一个helper类:

public class GlobalVars extends Application {

    private static String value2;


    public static String getValue() {
        return value2;
    }

    public static void setValue(String value) {
        value2 = value;
    }
}
在A类中,将值设置为
GlobalVars.setValue(“某物”)


在类B中,获取值为
String your_value=GlobalVars.getValue()

除非您现在有一个名为
RingSettings
的类,否则您试图从类
GetSettings
实例化一个方法
RingSettings
,这显然会失败。我建议您更多地了解Java(以及Android)。也可能您想要执行
GetSettings test1=newgetsettings()不幸的是,这并不能解决代码中的错误。这只会增加另一个层次的复杂性。这个答案与其他关于清单条目的答案和注释结合在一起,对我来说非常有效。