这个程序运行的结果为什么是22阿?(scjp模拟题) new Extension() 首先是BASE.ADD(1)(调用的其实是Extension.ADD(1)) I=2 Extension.ADD(2) I=6 Extension.ADD(8) I=22 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载之后,Base() { add(1); }add(1)不再调用Base.add(1),而是调用Extension.ADD(1) 执行一下不就知道怎么回事了:)class Base { int i; Base() { add(1); } void add(int v){ System.out.println( "I am Base.add( " + v + ")" ); i+=v; } void print(){ System.out.print(i); } }class Extension extends Base{ Extension(){ add(2); } void add (int v){ System.out.println( "I am Extension.add( " + v + ")" ); i+=v*2; }}public class th{ public static void main(String args []){ bogo( new Extension()); }static void bogo(Base b){ b.add(8); b.print();}} 先构造基类 然后再构造子类 由于子类重载了add 方法 所以基类中调用的为子类的add 方法 Java中Map取值 java里如何接受request.getParameter(" tomcat启动的问题 请问哪里可以下载 eclipse ???? 如何让使用SWT/JFace写的客户端程序在任务栏显示? 如何为jdk配置src.zip? 如何给jar文件加密? 请高手帮一下(多线程临界区问题) 谁知道哪儿有JAVA原生编译器下载?? 如何在hashtable中put一个空值? 请教怎样把输入的字符通过加减运算变为其它字符? 我用applet读sql 2000数据库上的数据,在jb8测试上面好好的,为何在网页上面就不能正常?
{
add(1);
}
add(1)不再调用Base.add(1),而是调用Extension.ADD(1)
int i;
Base()
{
add(1);
}
void add(int v){
System.out.println( "I am Base.add( " + v + ")" );
i+=v;
}
void print(){
System.out.print(i);
}
}
class Extension extends Base{
Extension(){
add(2);
}
void add (int v){
System.out.println( "I am Extension.add( " + v + ")" );
i+=v*2;
}
}public class th{
public static void main(String args []){
bogo( new Extension());
}static void bogo(Base b)
{
b.add(8);
b.print();
}
}