當前位置:首頁 » 文件傳輸 » 不可訪問的對象如何賦值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

不可訪問的對象如何賦值

發布時間: 2022-04-26 21:50:26

❶ flash 無法訪問空對象引用的屬性或方法。

出現這樣的情況,flash會告訴你是哪個地方出問題了,也就是會顯示:
flash 無法訪問空對象引用的屬性或方法
at ……………………
at……………………
下面那幾行at就是出問題的函數或者方法,你好歹把這個也一起打上來吧。這些代碼是沒什麼問題。

再者,代碼很短,可以自己用trace語句多試試,看看哪出了問題啊。你可以把一些on1或者on2里的一些語句備注掉,然後看看還會不會報錯,就這樣自己試著找出是哪出問題了。因為你的很多元件都在庫里,光看代碼我們也很難知道問題出在哪。

❷ d含動態分配的對象不能互相賦值嗎

你這樣能運行個毛。。。。class裡面,你如果不定義,默認是private類型的,但構造函數和析構函數,必須是public類型的。。。。。。首先這個你就錯了。。。然後動態內存,很簡單啊,你構造函數裡面定義,析構函數裡面釋放就OK,沒創建對象的時候,類是存放在內存的代碼區中的,定義對象的時候會在棧中創建內存空間。

可以互相賦值,互相賦值,需要用拷貝構造函數
ma(ma &b)
{
delete a;
a=new int(sizeof(b.a));
}
在裡面添加這段代碼,就可以了

❸ java中類的私有變數是不可訪問的

如果單純說不可以直接訪問,是正確的,但是是可以通過set和get方式進行私有變數的賦值和讀取的。

可以創建 一個這個類的對象,然後通過對象.私有變數來調用。
比如 public A{
private String x;
public String getx(){
this.x= x;
};
}
之後就可以在B對象中通過get方法來獲取A對象的私有變數的值了
public B{
A a = new A();
a.setx("zhangsan");
String result = a.getx();
}

❹ [php]類裡面不能引用類外面定義好的變數嗎

把變數賦給類里的對象。

❺ C++中,在全局中,類對象成員不能被賦值

派生類對象有基類對象的所有成員變數以及成員函數吧!可能還有基類沒有的成員變數或成員函數吧!你將基類對象賦值給派生類後,如果你這個派生類訪問基類沒有的成員變數或者成員函數就報錯了,所以將基類賦值給派生類是非常危險的,不是不能是不建議。

❻ AS3.0 無法訪問空對象引用的屬性或方法。

var targetY:Number=stage.stageHeight/2;
這句有問題,stage為NULL
照我說的改一下就好了。
在構造函數里寫:
this.addEventListener(Event.ADDED_TO_STAGE, init);
如:
var targetY:Number;(變數一般在構造函數里賦值)
public function An() {
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, insit);
targetY = stage.stageHeight/2;
}
這樣就可以了.就不會報錯了

❼ java里調用其他文件夾下的類,出現成員變數不能賦值的問題

Java里一共有四種訪問修飾符,分別是

  • default(即默認,什麼也不寫): 在同一包內可見,不使用任何修飾符。使用對象:類、介面、變數、方法。

  • private: 在同一類內可見。使用對象:變數、方法。注意:不能修飾類(外部類)

  • public: 對所有類可見。使用對象:類、介面、變數、方法

  • protected: 對同一包內的類和所有子類可見。使用對象:變數、方法。注意:不能修飾類(外部類)。

你的name屬性並沒有寫修飾符,所以默認是default的,只有在相同包(文件夾)下才可以直接調用

❽ c++ 若指針指向的對象不存在了,指針是為空(NULL),還是指向的內存不可訪問了

如果是你自己定義的指針變數,如果指向的對象不存在了,該指針就會成為野指針。如果是指向簡單變數時,讀出的數據是隨機的,寫操作可能會是程序core掉。如果指向的復雜的對象,例如:
class A{
int a;
}
A* pA = new(A);
如果pA指向的對象不存在了,使用pA->a查看或者賦值就會使程序core掉

❾ php,子類無法訪問父類私有屬性,子類實例化再賦值後,子類所添加的新成員屬性不存在

我把涉及到這個問題的知識點,可以和大家分享一下:
1.父類humanBeing , 子類student , 實例對象 $m (注意:$m是子類student 的實例,和humanBeijing沒有直接關系)
2.private 的屬性.僅在本類里使用;任何子類、實例對象都無法訪問,更別說賦值。這個在書本上都一直是這么說滴。。哈哈。。。

根據以上知識點,來看你這個問題:
$student1=new student;
/*實例一個student的對象,此時注意,這個對象並不會繼承父類humanBeing的三個 private變數$name,$age,$gender*/

$student1->name='zhangsan';
$student1->age=20;
$student1->gender='male';
/*這里需要注意.很多人會誤以為是給父類humanBeing的三個屬性賦值了,這是錯的。這里的賦值,僅僅是給子類student的三個屬性賦值,這里也許會有人問,子類student那有什麼屬性呀?在php中,所有的變數,不要求申明,在類中屬性也是一樣的,不要求申明,而且類中,默認都是public。所以上面的這三行代碼,僅僅是子類student的三個屬性賦值,和父類humanBeing的三個屬性,沒有任何關系,僅僅名字一樣而已*/

function say(){
echo "My name is {$this->name} and I am {$this->age} years old. I am {$this->gender}.<br />";
}
/*這個是父類humanBeing的公有方法,(默認的是public的),這個方法中 $this -> name.這里的$this 是指父類student,$this -> name是指父類student的屬性,從始至終,它並沒有被賦值,所以它是空的,(而且它也不能被賦值,因為是private),這里的$student1->name='zhangsan';賦值操作,僅僅是修改子類student的$name */

我想這么回答,你應該非常清楚了吧

再來理解後面的例子,就很容易了。
$m->name="zhangsan";
/*僅僅是給子類Man的屬性賦值,而且因為可以省略聲明,默認又是public的,所以能直接賦值,當然也可以輸出了*/

class Person{
private $name;
}
/*可以直接把private $name;去掉,因為後面的賦值,跟它沒有任何關系,直接修改成*/
class Person{
}