① android自定義控制項時,在構造函數中用super調用父類構造函數有什麼作用
調用父類的構造函數,相當於調用父類里的方法。作用就是這個方法會處理一些邏輯。
你可以去看源碼,view的構造函數里可是寫了一堆代碼的,如果你不調用,你就需要自己處理一些邏輯了。
② Android中關於重寫方法調用父類方法的問題
重寫父類方法後,要調用父類的方法需要加super,顯示指定調用父類。
這和android沒有關系,主要是java的語法。
示例:
publicclassP{
publicvoidshow(){
}
}
publicclassSextendsP{
publicvoidshow(){
super.show();//這里顯示指定調用父類的show方法,不加super,只會調用子類的方法
}
}
本問題解決:
所以這里加了super.onKeyDown後,調用的就是父類的onKeyDown方法。
③ Android 調用父類
因為我們用的Activity都是繼承自Activity的,而Activity的onCreate()方法中是有一些必要的邏輯要執行的.所以我們的Activity中的onCreate()不調用super.onCreate()的話,Activity的初始化就會有問題.
有些Activity函數就不需要調用父類的同一個方法,因為父類的這些方法里留空了,就是為了讓子類復寫的.當然這類方法寫個super.XXX()也是沒錯的.
如果有興趣,可以自己翻下源碼,就明白了.
④ 有誰知道安卓里重寫onActivityResult()方法後為什麼還要調用父類的該方法,我不這樣做
你是說super.onActivityResult()吧?
因為你不知道父類的方法里都做了什麼,所以蠻寫一句這個讓它運行一下,是不會有問題的。
實際上我估計凡是onxxx()的方法一般什麼都沒寫,但也有例外的。
⑤ android為何經常調用super()函數
父類的這個方法已經實現了咱么需要的功能,這些功能可能是咱們自己無法實現的。好比back鍵的回調函數,這個回調你重寫的時候,如果你既想他擁有新功能,又想能夠實現返回。比如我們希望在按下back鍵退出程序,在推出前提示是否退出,我們必須要調用父類的back鍵的回調,也就是通過super關鍵字調用父類的方法,這樣才能實現返回的功能,而我們新加入的功能就是彈出一個提示對話框。在這里,back鍵返回的功能不是簡單的軟體編程,還涉及到對硬體電路的響應,是較難實現的。這就是為什麼要使用super關鍵字來調用父類的該方法的原因
⑥ 請問一下android的onStop方法為什麼要調用父類的onStop啊super.onStop();
因為他的父類可能作了一些別的事情,super.onStop();你可以不必理會,後面加上自己要做的事情,覆寫就可以了
⑦ android 怎麼調用資料庫方法
SQLite也支持SQL標准類型,VARCHAR、CHAR、BIGINT等。
創建資料庫
Android 不自動提供資料庫。在 Android 應用程序中使用 SQLite,必須自己創建資料庫,然後創建表、索引,填充數據。Android 提供了 SQLiteOpenHelper 幫助你創建一個資料庫,只要繼承 SQLiteOpenHelper 類,就可以創建資料庫。繼承了SQLiteOpenHelper的子類,必須實現三個方法:
1、構造函數,調用父類 SQLiteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 Null),一個代表你正在使用的資料庫模型版本的整數。
2、onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。
3、onUpgrage() 方法,它需要三個參數,一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣可以清楚如何把一個資料庫從舊的模型轉變到新的模型。
⑧ Android在AlertDialig的子類中通過super調用父類構造函數有什麼作用
1.子類在繼承過程中只能繼承成員變數和成員函數,無法繼承構造函數
2.子類在構造函數中必須要調用父類的構造函數,如果在子類實例化過程中沒有顯示的調用super,則編譯器會給子類的構造函數中加上父類的無參構造函數
3. super在子類的構造函數中必須是第一條語句
class Person {
String name;
Person(String name){
this.name = name;
System.out.pringln("Person 構造函數");
}
}
class Student extends Person{
int age;
Studeng(String name, int age){
super(name);
this.age = age;
System.out.pringln("Student 構造函數");
}
}
⑨ Android的ViewHolder的子類構造函數中為何要super(view)調用父類構造函數
看源碼,它僅僅是給ViewHolder里的itemView賦值了。同時也做了一個判斷。這里賦值之後後面會有幾個方法會用到。所以如果不調用super(view),super里跟itemView有關的方法調用時會出現空指針異常。