根据Android Studio的提示,不要这样做:
private BluetoothAdapter.LeScanCallback mCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
}
};
我可以做到这个:
private BluetoothAdapter.LeScanCallback mCallback;
{
mCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
}
};
}
我认为第二种语法选项更好看,但我不明白为什么在匿名类实例化周围需要花括号。 我的理解是,花括号在本地范围内限制了封闭代码,这对我来说并没有太多意义。 我错过了什么吗?