Ошибка в trace(oneClass.myString);
, потому что myString
не является статичным. Но кроме этого, вы можете назначить One
на oneClass
Ссылка типа Class
не имеет какого-либо свойства класса или объекта, не является экземпляром и является просто ссылкой на конструктор этого класса. то есть:
public class One {
static public var classValue = "Hello";
public var instanceValue = "World!";
}
public class Two {
public function Two() {
trace( One.classValue ); // this traces: Hello
trace( One.instanceValue ); // this throws an Error
var classReference:Class = One;
trace( classReference.classValue ); // this throws an Error
trace( classReference.instanceValue ); // this throws an Error
var objectReference:One = new classReference();
trace( objectReference.classValue ); // this throws an Error
trace( objectReference.instanceValue); // this traces: World!
}
}
Свойства класса (статические) могут быть доступны только из класса напрямую (например, One.classValue
), а не из ссылки Class
, а свойства экземпляра (НЕ статические) могут быть доступны только из объектов этого класса (например new One().instanceValue
)