-3

我需要帮助,这是 Swift 中 AnyObject 类的示例。

class OtherClass {
   private var myValue: String?
   func setValue(myValue: String) {
      self.myValue = myValue
   }
   func getValue() -> String {
      return myValue!
   }
}

class MyClass {
   init() {
      let otherClass = OtherClass()
      otherClass.setValue("Value here!")
      let myValue = getValue(otherClass) as? String
      print(myValue) // output is Value here!
   }
   func getValue(object: AnyObject) -> AnyObject {
      let myObject = object as! OtherClass
      return myObject.getValue()
   }
}

我们可以将 OtherClass 对象添加到 getValue 方法的参数中。可以看到,参数方法是AnyObject而不是OtherClass。但在android中我不能这样做。那么,是否可以像在 iOS 中一样在 Android 中使用 AnyObject 类?

4

1 回答 1

3

您需要使用 Java Object 类。否则,您可以创建自己的类,由所有人扩展OtherClass并将其用作输入类型参数。

你也可以看看Java Generic Types(但它更高级,在这种情况下可能没用)

Swift AnyObject 文档

所有类都隐式遵循的协议。

Java 对象文档

类对象是类层次结构的根。每个类都有 Object 作为超类。所有对象,包括数组,都实现了这个类的方法。

于 2016-10-06T07:50:31.653 回答