super.onCreate(savedInstanceState),说明了父类Activity,本身支持Bundle类型的参数。既然如此,意味着android.app.Activity里面,已经import android.os.Bundle了。
为何下面屏蔽了import android.os.Bundle,就一定报错?package com.demo.android.bmi;import android.app.Activity;
import android.os.Bundle;public class Bmi extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
为何下面屏蔽了import android.os.Bundle,就一定报错?package com.demo.android.bmi;import android.app.Activity;
import android.os.Bundle;public class Bmi extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
包装名: com/demo/bmi,你的代码在这个包里。public class bmi extends Activity{ //import android.app.Activity:是属于这个类的。/** Called when the activity is first created. */
当bmi这个活动第一次被创建。并且继承自Activity这个类。子类继承父类:可以使用父类的方法。@Override//对父类Activity的onCreate方法进行重写。父类还包括onPause,onResume,onStart等方法
public void onCreate(Bundle savedInstanceState) {//括号内,是一个Bundle类型的参数:(Bundle i)完全等同于(Bundle savedInstanceState):即是Activity这个固定onCreate方法的参数i,类型是Bundle. 可想而知,当然,要导入(import android.os.Bundle;)了。
super.onCreate(savedInstanceState);//super代表bmi的上一个类,即Activity。因为bmi对父类进行了onCreate方法进行了重写,但是要想保留父类Activity的onCreate方法。所以就用super.onCreate(savedInstanceState);来表示。保留父类方法。 setContentView(R.layout.main);//这就是保留父类的基本动作的情况下,然后用setContentView,在屏幕上显示布局文件。通过R指针到(索引到)layout布局(main文件)。}个人,观点。 如有错误,还望指出。
别把c++跟java混淆了 java里面只要用到了的类就必须导入 这跟c++ 的include的不大一样 include不能重复引入。
这个是Bundle类型的,当然要导入Bundle包啦