Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin伴生异议未解决的引用_Android_Kotlin_Companion Object - Fatal编程技术网

Android Kotlin伴生异议未解决的引用

Android Kotlin伴生异议未解决的引用,android,kotlin,companion-object,Android,Kotlin,Companion Object,我有一个带有伴生对象的Kotlin类,它可以看到父类的一些字段,但看不到其他字段。Android Studio中没有可导入的选项 class A{ var a = 1 var b = 2 companion object { a += 1// visible and imported b += 1// unresolved reference } } 我不想在companion对象内创建此变量。您无法从静态

我有一个带有伴生对象的Kotlin类,它可以看到父类的一些字段,但看不到其他字段。Android Studio中没有可导入的选项

class A{
   var a = 1
   var b = 2
       companion object {
            a += 1// visible and imported
            b += 1// unresolved reference
       }
}

我不想在companion对象内创建此变量。

您无法从静态上下文(companion)访问实例变量,这与Java代码相同您无法从静态上下文(companion)访问实例变量,这与Java代码相同您绝对不正确

您根本无法访问同伴对象中的类成员。但是你可以在课堂上使用同伴的成员

如果您看到kotlin字节码,您将看到伴生对象编译为

   public static final class Companion {
      private Companion() {
      }

      // $FF: synthetic method
      public Companion(DefaultConstructorMarker $constructor_marker) {
         this();
      }
   }
因为Companion是
静态类
,所以它可以在声明它的地方没有类的情况下存在

因此,在您的情况下,您无法访问a和b,因为它们可能不存在


它们对您来说也是不可访问的,但您可能发现了IDE错误,并且它不会给您带来错误

您完全不正确

您根本无法访问同伴对象中的类成员。但是你可以在课堂上使用同伴的成员

如果您看到kotlin字节码,您将看到伴生对象编译为

   public static final class Companion {
      private Companion() {
      }

      // $FF: synthetic method
      public Companion(DefaultConstructorMarker $constructor_marker) {
         this();
      }
   }
因为Companion是
静态类
,所以它可以在声明它的地方没有类的情况下存在

因此,在您的情况下,您无法访问a和b,因为它们可能不存在

它们对您来说也是不可访问的,但您可能发现了IDE错误,并且不会给您带来错误

Android Studio导入了一个类变量。在imports中,我看到import package.A.A,但没有import package.A.b

import package.A.A
对于类属性
A
来说根本没有意义,而且伴生对象也不需要从它的伴生类导入
。我最好的猜测是它是从另一个包中的
对象导入的

Android Studio导入了一个类变量。在imports中,我看到import package.A.A,但没有import package.A.b


import package.A.A
对于类属性
A
来说根本没有意义,而且伴生对象也不需要从它的伴生类导入
。我最好的猜测是它是从另一个包中的
对象导入的。

无法复制。两个都给出了一个错误A在同伴内部也不可见object@TimCastelijns@mTak,Android Studio导入了一个类变量。在导入中,我看到了
import package.A.A
,但没有
import package.A.b
无法复制。两个都给出了一个错误A在同伴内部也不可见object@TimCastelijns@mTak,Android Studio导入了一个类变量。在imports中,我看到的是
导入包.A.A
,但不是
导入包.A.b
,但可以访问其他包。。。我认为这两个变量没有区别。也许是安卓工作室的问题,它不导入它们,但其他人可以访问。。。我认为这两个变量没有区别。可能是Android Studio的问题,它没有导入它们。我可以访问A,但不能访问B。可能是因为Kotlin编译期间的问题。我可以访问A,但不能访问B。可能是因为Kotlin编译期间的问题