当编译并运行下列Java程序段时,将会输出什么? class VarInBase{ int i=10; public void print(){ System.out.println("i="+i); } } class VarInSub extends VarInBase{ int i=100; public void print(){ int i=1000; System.out.println("i="+i); } } public class Main{ public static void main(String args[]){ VarInBase m=new VarInSub(); m.print(); } }
时间: 2024-03-04 18:53:42 浏览: 38
该程序会输出 "i=1000"。程序中定义了两个类 VarInBase 和 VarInSub,VarInBase 类中有一个实例变量 i 并且有一个方法 print,该方法输出 i 的值。VarInSub 类继承自 VarInBase 并且也有一个实例变量 i 和一个方法 print,该方法中定义了一个局部变量 i 并将其值设置为 1000,然后输出 i 的值。在 Main 类中创建了一个 VarInSub 的对象 m,并将其赋值给了 VarInBase 类型的变量 m,在调用 m 的 print 方法时,由于 m 的实际类型为 VarInSub,因此调用的是 VarInSub 类中的 print 方法,输出局部变量 i 的值 1000。
相关问题
package com.exam; public class java { int i=0,j=-1; switch(i){ case 0:j=1; case 2:j=2; } System.out.print(""j=""+j); }
这段代码有语法错误,无法通过编译。在Java中,switch语句必须放在方法里面,不能直接在类中编写。正确的写法应该是:
```
package com.exam;
public class Java {
public static void main(String[] args) {
int i=0,j=-1;
switch(i){
case 0:j=1;break;
case 2:j=2;break;
}
System.out.print("j="+j);
}
}
```
在switch语句中,每个case后面必须跟着一个break语句,否则程序会继续执行下去。此外,Java中的类名应该以大写字母开头,变量名应该以小写字母开头。
下列程序的执行结果是( + + + +)。public+class+A+{public+static+void+main(String[]+args){int+j+=+2,+i+=+8;while+(
这段程序是错误的,无法通过编译。在程序中,变量j和i没有被初始化就被使用了,同时while循环的条件也没有被指定。正确的程序应该是这样的:
public class A {
public static void main(String[] args) {
int j = 2, i = 8;
while (i > 0) {
System.out.print("+");
i -= j;
j += 2;
}
}
}
这个程序的执行结果是:++++。程序的作用是输出一串加号,其数量由变量i和j的值决定。每次循环中,变量j的值增加2,变量i的值减少j,直到i的值小于等于0为止。