- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是面向对象编程的初学者,我需要一些答案来澄清一些事情。我有一个 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
}
希望你能理解我的问题。有什么好的做法可以用这个东西来工作吗?谢谢!
最佳答案
你可以这样写:
public class MainActivity extends Activity {
BluetoothService mBluetoothService = new BlueToothService(this);
Nmea mNmea = new Nmea(mBluetoothService);
Gps mGps = new Gps(mNmea);
}
并且您的 Gps
cconstructor 需要如下所示:
public class Gps {
private Nmea mNmea;
public Gps(Nmea nmea) {
mNmea = nmea;
}
}
如果您只需要一个 BluetoothService
类实例,则需要使用 Singleton design pattern 来编写他并将 Nmea
类中所有需要的方法声明为 public
关于java - 对创建对象和使用其方法感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497021/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!