我是刚接触Java的,对上传和下传有疑问。我写了以下代码:
class Bike{
int speedlimit=90;
int bikeId = 123576;
Bike(){
System.out.println("inside Bike");} //end constructor
public void run(){ System.out.println("Bike is running");
}// end run
};//end Bike
class Honda3 extends Bike{
int speedlimit=150;
int bikeId = 456;
Honda3(){ System.out.println("inside Honda");} //end constructor
public void run(){ System.out.println("Honda is running");
}// end run
public static void main(String args[]){
Bike obj=new Honda3();
System.out.println(obj.speedlimit);
System.out.println(obj.bikeId);
obj.run();
Honda3 obj2 = (Honda3) obj;
obj2.run();
obj.run();
} // end main
};//end honda3
输出:
inside Bike
inside Honda
90
123576
Honda is running
Honda is running
Honda is running
所以我的疑问是,当任何对象向上转换到其父类时,它是否丢失了所有的属性或变量?
此外,为什么上播对象不能访问父方法,即使用以下方法?
`Bike obj = new Honda3(); // Output should be : Bike is Running`
对对象调用的方法不是由变量的类型决定的,而是由对象的类型决定的,如果您实例化了honda3
,那么对象的类型将是honda3
。您无法从Honda3
实例中实现输出bike is running
。
问题内容: 看一下这个例子: 如何从子对象中访问随机对象? 问题答案: 让类将自己的实例传递给该类。 经典Occam剃刀。
问题内容: 如何使用jQuery访问父窗口对象? 这是我的父窗口变量,我想在关闭子窗口后设置其值。 问题答案:
问题内容: 问题答案: 你不能 JavaScript中没有向上关系。 举个例子: 现在,单个数组对象具有两个“父级”。 您可以做的是:
我的背景是C,在那里我们可以使用子类对象访问父类的公共字段。示例: 如何在Java继承中实现同样的功能? 我还有另一个关于覆盖的问题,但由于Stackoverflow规则,我将作为单独的问题提问。 那么,使用子类对象引用打印/访问Java的父类方法的语法应该是什么?我尝试了。等,但不工作。
问题内容: 我对JNI相对较新,并且掌握了使用JNI处理Java对象中的整数和数组的基本知识。现在,我正在尝试修改/访问Java对象中的Java对象。 我一直在互联网和Stack Overflow上进行搜索,但还没有找到执行该操作的方法。 这是例子。 在Java中: 在JNI中,如何通过ObjectTwo从ObjectOne访问“ buff”?我尝试过这样的事情… 我做错了什么吗? 问题答案: 在
问题内容: 就像是 这是我想象的格式,但事实并非如此。什么会退回到对象的父级? 问题答案: JavaScript本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?