我是面向对象编程的初学者,我需要很少的答案来解决问题。我有一个 MainActivity 和几个用于不同操作的类。例如,在 MainActivity 中,我从 BluetoothReceiver 类创建了一个名为 mBluetoothReceiver 的对象。有一些方法可以建立和管理 BT 连接,例如 sendData。在 Nmea 类中,我得到了一些使用 BluetoothReceiver 方法的方法,因此我通过了构造函数 mBluetoothReceiver。
MainActivity 类:
public class MainActivity extends Activity {
BluetoothService mBluetoothService = new BluetoothService(this);
//create new object from Nmea class and pass mBluetoothService to mNmea
Nmea mNmea = new Nmea(mBluetoothService);
}
Nmea类:
public class Nmea {
BluetoothService mBluetoothService;
//constructor for Nmea for BluetoothServce object
public Nmea(BluetoothService bluetoothService) {
mBluetoothService = bluetoothService;
}
public Nmea()
{
//empty constructor {
}
//Nmea methods...
}
我的问题是,我还有 GPS 类,它也将使用 Nmea 类中的方法,但我不知道该怎么做。可以在 Nmea 类中放置空构造函数并在 GPS 类中创建 Nmea 对象吗?如果我不传递 BluetoothService 对象,蓝牙可能无法工作?在 GPS 类中,我无法创建新的 BluetoothService 连接对象并将其传递给 Nmea 构造函数,因为我在整个项目中只需要一个已建立的连接。
GPS类:
public çlass GPS {
Nmea gpsNmea = new Nmea();
//I need to use Nmea methods here
}
我希望你能理解我的问题。有什么好办法用这玩意儿搞定的呢?谢谢!