Java 如果父类已经导入了类,为什么我们需要导入它

Java 如果父类已经导入了类,为什么我们需要导入它,java,android,inheritance,Java,Android,Inheritance,假设我有: import android.os.Bundle; import android.app.Activity; public class MyActivity extends Activity { @Override public void onCreate(Bundle b) { } } 然后我扩展了这个类: public class MyNewActivity extends MyActivity { @Override publi

假设我有:

import android.os.Bundle;
import android.app.Activity;

public class MyActivity extends Activity {

    @Override
    public void onCreate(Bundle b) {

    }
}
然后我扩展了这个类:

public class MyNewActivity extends MyActivity {

    @Override
    public void onCreate(Bundle b) {

    }
}

如果我不包括
导入android.os.Bundle
then
MyNewActivity
类不会编译,但是它应该已经知道
Bundle
,因为父类已经导入了它。提供什么?

在Java中,导入的范围不是声明的类,而是提供导入的文件。因此,在不同的文件中,您仍然必须导入所需的内容

据报道,

导入声明使类型或成员通过其简单 仅在实际包含 进口报关单


也就是说,导入的范围是它所在的文件。

在Java中,导入的范围不是声明的类,而是给定导入的文件。因此,在不同的文件中,您仍然必须导入所需的内容

据报道,

导入声明使类型或成员通过其简单 仅在实际包含 进口报关单


也就是说,导入的范围是它所在的文件。

导入
不是继承的。
它应该已经知道Bundle
-为什么要这样做
Bundle
不是MyActivity的成员类。@Simin的想法是,既然MyNewActivity已经继承了MyActivity的所有方法,包括方法签名,MyNewActivity如何能够显式或隐式地利用
Bundle
s?如果MyActivity永远不需要知道Bundle是,它只需将请求传递到黑匣子中的活动,然后在黑匣子中接收返回的内容,并将其提供给请求者,那么它就不需要知道捆绑包是什么,只有当它需要打开该框时,才需要导入捆绑包。
导入
s不是继承的。
它应该已经知道捆绑包
-为什么要这样做
Bundle
不是MyActivity的成员类。@Simin的想法是,既然MyNewActivity已经继承了MyActivity的所有方法,包括方法签名,MyNewActivity如何能够显式或隐式地利用
Bundle
s?如果MyActivity永远不需要知道Bundle是,它只需将请求传递到黑匣子中的活动,然后在一个黑匣子中接收返回的内容,并将其提供给请求者,那么它不需要知道捆绑包是什么,只有当它需要打开盒子时,它才需要导入捆绑包