当前位置: 首页 > 知识库问答 >
问题:

如何在Java中使用上播对象访问父方法?

宰父志新
2023-03-14

我是刚接触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` 

共有1个答案

高增
2023-03-14

对对象调用的方法不是由变量的类型决定的,而是由对象的类型决定的,如果您实例化了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本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?