public class Demo{ int n=10; public static void main(String[] args){ System.out.println(n); } } 编译运行的结果是( )。
时间: 2024-03-14 17:48:06 浏览: 86
编译错误。因为在静态方法 `main` 中想要访问实例变量 `n`,需要先创建类的实例。可以改为以下代码才能成功编译并输出结果:
```
public class Demo{
int n=10;
public static void main(String[] args){
Demo obj = new Demo(); //创建类的实例
System.out.println(obj.n);
}
}
```
输出结果为:10
相关问题
public class ClassDemo { public static int sum=1; public ClassDemo(){ sum=sum+5; } } class ClassDemoTest extends ClassDemo{ public static void main(String[] args){ ClassDemo demo1=new ClassDemo(); ClassDemo demo2=new ClassDemo(); System.out.println(sum); } }
这段代码定义了两个类:ClassDemo和ClassDemoTest。其中ClassDemo类有一个静态变量sum和一个无参构造方法,在构造方法中对sum进行加5操作。ClassDemoTest类继承自ClassDemo类,包含了一个main方法。
在main方法中,首先创建了两个ClassDemo的实例对象demo1和demo2,由于ClassDemo的构造方法中对静态变量sum进行了加5操作,因此实例对象创建时sum的值分别为6和11。最后输出sum的值,结果是11。因为sum是静态变量,所以在ClassDemo和ClassDemoTest两个类中共享。
public class StaticDemo { static String str="hello"; int i=10; static void staticMethod() { System.out.println("static method"); } void non_staticMethod() { System.out.println("not static method"); staticMethod(); } public static void main(String args[]) { StaticDemo st=new StaticDemo(); st.staticMethod(); st.non_staticMethod(); System.out.println(st.i); System.out.println(StaticDemo.str); } } 写出程序的输出结果(按顺序)。
程序的输出结果为:
```
static method
not static method
static method
10
hello
```
解释:
- 在main方法中,首先创建了一个StaticDemo对象st。
- 接着,通过st对象调用staticMethod()方法,输出"static method"。
- 然后,通过st对象调用non_staticMethod()方法,输出"not static method",接着又调用staticMethod()方法,输出"static method"。
- 最后,输出st对象的属性i的值10和类属性str的值"hello"。
阅读全文