Java 在android中创建对象
我在android studio上创建类的对象时遇到问题。我创建了几个名为Fan、Light和Device的类 当我尝试在MainActivity.java中实例化风扇和灯光时,会出现以下错误: 字段“myFan”从未使用过 无法解析符号“breakDevice” 代码如下所示。我希望能找到解决这个问题的办法。 谢谢 MainActivity.java Fan.java javaJava 在android中创建对象,java,android,Java,Android,我在android studio上创建类的对象时遇到问题。我创建了几个名为Fan、Light和Device的类 当我尝试在MainActivity.java中实例化风扇和灯光时,会出现以下错误: 字段“myFan”从未使用过 无法解析符号“breakDevice” 代码如下所示。我希望能找到解决这个问题的办法。 谢谢 MainActivity.java Fan.java java 您已将对象创建为字段 但是,不能在任何其他方法之外调用实例方法,因此必须在onCreate中使用break设备,或者
您已将对象创建为字段 但是,不能在任何其他方法之外调用实例方法,因此必须在onCreate中使用break设备,或者作为按钮单击事件的一部分,例如 MainActivity.java
实例化是正确的,但您只能在方法内部访问对象的方法,而不能在类级别上访问 您可以在由Maharaja或其他方法采样的onCreate方法中访问它
public class MainActivity extends Activity
{
//Instantiate object on global or class level
public Light myLight = new Light();
Fan myFan = new Fan();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
executeObjectCommands();
}
//You can execute your commands inside this method
//You can also separate them in different methods and return something if needed
public void executeObjectCommands()
{
myFan.breakDevice();
myLight.breakDevice();
}
}
你应该叫你的'myFan.breakDevice;myLight.breakDevice;`在某些方法中,比如在onCreate中;FWIW,不要将Android日志方法用作POJO类的一部分
package com.example.codealong3;
import android.util.Log;
public class Fan extends Device{
public Fan() {
setDeviceName("FAN");
}
@Override
public void breakDevice() {
Log.e(getDeviceName(), "BANG ! It's broken");
}
}
package com.example.codealong3;
import android.util.Log;
public class Light extends Device {
public Light() {
setDeviceName("LIGHT");
}
@Override
public void breakDevice() {
Log.e(getDeviceName(), "Glass Everywhere! .. I guess that's not bad");
}
}
public class MainActivity extends Activity
{
public Light myLight = new Light();
Fan myFan = new Fan();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myFan.breakDevice();
myLight.breakDevice();
}
}
public class MainActivity extends Activity
{
//Instantiate object on global or class level
public Light myLight = new Light();
Fan myFan = new Fan();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
executeObjectCommands();
}
//You can execute your commands inside this method
//You can also separate them in different methods and return something if needed
public void executeObjectCommands()
{
myFan.breakDevice();
myLight.breakDevice();
}
}