一个问题 (我是新手)

sqcyg 2010-03-09 04:09:49
class Person
{ public void printValue(int i,int j){ }
public void printValue(int i){ }
}
public class Teacher extends Person
{ public void printValue(){ }
public void printValue(int i){ }
public static void main(String[] args)
{ Person t=new Teacher ();
t.printValue(10);// m
}
}
m行语句调用的是哪行语句?我是新手说的详细点。。
...全文
250 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjh811 2010-03-10
  • 打赏
  • 举报
回复
引用 5 楼 bayougeng 的回复:
当然是用的子类的方法。
正解~~~~~~~
o2jamwinds 2010-03-10
  • 打赏
  • 举报
回复
这里用到了多态
子类重写了父类的方法
当父类引用指向子类对象也就是 Person t = new Teacher();这句的时候
你new的是哪个对象,就调用哪个对象的方法
智鹿软件 2010-03-10
  • 打赏
  • 举报
回复
class Person 
{ public void printValue(int i,int j){ }
public void printValue(int i){ }
}
public class Teacher extends Person
{ public void printValue(){ }
public void printValue(int i){ }
public static void main(String[] args)
{ Person t=new Teacher ();
//t是父类的一个对象,但是他指向了子类,所以他就可以看成是子类的一个对象,这样的话,他调用的肯定是
//子类中的方法啊!
t.printValue(10);// m
//Person t=new Person ();
//虽然Teacher extends Person ,但是t是person的一个对象啊,所以调用的是person类的方法啊!
}
}
智鹿软件 2010-03-10
  • 打赏
  • 举报
回复
class Person 
{ public void printValue(int i,int j){ }
public void printValue(int i){ }
}
public class Teacher extends Person
{ public void printValue(){ }
public void printValue(int i){ }
public static void main(String[] args)
{ Person t=new Teacher ();
t.printValue(10);// m
//虽然Teacher extends Person ,但是t是person的一个对象啊,所以调用的是person类的方法啊!
}
}
GOon_star 2010-03-10
  • 打赏
  • 举报
回复
子类继承父类,然后将方法重写,t对象是new的teacher()的,因此调用的方法属于teacher类的!!!
class Person
{ public void printValue(int i,int j){ }
public void printValue(int i){ }
}
public class Teacher extends Person
{ public void printValue(){ }
public void printValue(int i){ }//被调用方法
public static void main(String[] args)
{ Person t=new Teacher ();
t.printValue(10);// m
}
}
Kevin_lujun 2010-03-10
  • 打赏
  • 举报
回复
子类中重载后的方法!
icebingsky 2010-03-10
  • 打赏
  • 举报
回复
毫无疑问。子类的。。
ychao0417 2010-03-10
  • 打赏
  • 举报
回复
21楼的方法很好。可以自己动手写一点东西进去测试下就知道结果了。
程序猿足迹 2010-03-10
  • 打赏
  • 举报
回复
调用的是子类中的public void printValue(int i){ }
这是一个方法的重载与重写的问题,解决此方法的最后方法就是实践。多次实践后你自然而然就会明白的。
public class Person {
public void printValue(int i,int j){
System.out.println("我是父类中有两个参数的printValue!");
}
public void printValue(int i){
System.out.println("我是父类中有一个参数的printValue!");
}

}
public class Teacher extends Person {
public void printValue(){
System.out.println("我是子类无参的printValue!");
}
public void printValue(int i){
System.out.println("我是子类中有一个参数的printValue!");
}
public static void main(String[] args)
{ Person t=new Teacher ();
t.printValue(10);
}


}
wolf521hf 2010-03-10
  • 打赏
  • 举报
回复
是子类里的方法…………
duanzongfen 2010-03-10
  • 打赏
  • 举报
回复
呵呵!时子类的了!你可以自己编个程序看看不就知道了!还用想那么多!!如:、
public class Person {
public void print(int i){
System.out.println("我调用的是Person 类的方法。。。");
}

}
class Student extends Person{
public void print(int i){
System.out.println("我调用了是Student类中的方法");
}
public static void main(String args[])
{
Person s=new Student();
s.print(10);
}
}
这样不就知道了!!用子类实例化父类!如果子类有这调用子类的!如果没有复写则调用父类的!
sunjiang1224 2010-03-10
  • 打赏
  • 举报
回复
Java codeclass Person
{ public void printValue(int i,int j){ }
public void printValue(int i){ }
}
public class Teacher extends Person
{ public void printValue(){ }
public void printValue(int i){ }
public static void main(String[] args)
{ Person t=new Teacher ();
//t是父类的一个对象,但是他指向了子类,所以他就可以看成是子类的一个对象,这样的话,他调用的肯定是
//子类中的方法啊!
t.printValue(10);// m
//Person t=new Person ();
//虽然Teacher extends Person ,但是t是person的一个对象啊,所以调用的是person类的方法啊!
}
}
liujun3512159 2010-03-10
  • 打赏
  • 举报
回复
是子类的,如果子类没有,就是父类的
zings 2010-03-09
  • 打赏
  • 举报
回复
引用 5 楼 bayougeng 的回复:
当然是用的子类的方法。

恩恩
libo_java 2010-03-09
  • 打赏
  • 举报
回复
java的多态:如果子类继承了父类,切重写了父类中已有的方法,那么调用的时候会去子类中。
无聊司马 2010-03-09
  • 打赏
  • 举报
回复
调用的是 public void printValue(int i) 这个 因为t.printValue(10)在调用时已经指定了类型
sgzlove2007 2010-03-09
  • 打赏
  • 举报
回复
不好意思 说错了 呵呵
如果子类重载了父类的方法 就调用子类的 如果没有就调用父类
sgzlove2007 2010-03-09
  • 打赏
  • 举报
回复
如果子类继承了父类的方法 就调用子类的 如果没有就调用父类
liguang168 2010-03-09
  • 打赏
  • 举报
回复
引用 4 楼 dazzlingwinter 的回复:
函数的重载咯,看参数个数就行了,如果累自身没有就往上一级找,一直找到Object
再没有的话就见鬼了。。。


=============================
顶一下。 看有没有鬼。
keeya0416 2010-03-09
  • 打赏
  • 举报
回复
引用是哪个父类类型无所谓,对象是谁new出来的就调用谁的方法。
方法名一样就看参数列表。
加载更多回复(6)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧