Java 几个不明白的地方

来源:百度知道 编辑:UC知道 时间:2024/06/20 04:42:22
我有几个地方不明白,请大家帮忙看看
1.我只会在一个工程的不同包中用import引用库类,怎样在不同的工程中引用呢? 我只会导入文件!..能用import实现吗?
2.假定有2个类 A和B ,B是A的子类,A是B的父类,那么我这样
A a=new B();
引用a在编译时是A类型,那在运行时呢?
3.类的静态成员对象,静态成员方法能否被继承啊? 因为我想要是静态对象能够继承的话,那么在子类中的对象维护的与父类中的景泰对象是一个存储空间了....

1.首先import 是引入包的关健字,当你用到一个类中的某个方法时,你需要引入这个类,这时就需要用到import引入类了。不同工程中引用类库的方法就是可以用import引入。
比如引入import java.util.Arrays; 这个类库,你就可以调用Arrays这个类中的所有方法。

2.这种情况称为:多态。假如:父类A中有一个方法public void f1();子类B中也有public void f1()这个方法,那么 A a=new B();你创建B类中的一个实例去指向A类,假如a.f1();那么运行的结果是调用子类B中的方法。
这是为什么呢,原因是在程序在编译过程中对a对象编译为父类A类型,但在程序解释过程中却是子类B类型。所以调用的是子类B中的方法。
因此A a=new B();
引用a在编译时是A类型,那在运行时就是B类型了。

3.对于类中的静态成员方法和静态成员变量,我们通常是用直接用类名+ . +方法名来调用的。
还有一点就是对静态成员和静态方法只属于类所有。
只有类或者接口之间才存在继承的关系,静态对象之间不存在继承的关系,也就不能继承。

1、应该是不能
2、在运行时候是B类型
3、静态方法和静态成员不能被继承,只能被调用

引用A在编译时是A类型的,不过在运行期间他是B类型的.