class Point{
static int s;
}
public class Test{
public static void main(String args[]){
Point p1=new Point();
Point p2=new Point();
p1.x=10;
p2.x=20;
System.out.println(p1.x+","+p2.x)
}
}
System.out.println(p1.x+","+p2.x);
少了逗号
输出应该是40
因为是静态变量
首先 Point 类中的静态变量 是 x 吧, 然后 输出语句最后少了 分号
因为 x 是静态变量,所以每个Point实例 ,都共有一个变量 x, 以最后一次的修改为准
结果是 20,20
自动产生:当程序遇到错误代码,会产生异常,程序终止
手动产生:throw new 异常类名();
throw必须定义在在方法体中,用来抛出一个Throwable类型的异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。
下面看一个手动抛出异常的例子:
package prac;
public class t2 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
m1();
}
public static void m1() throws Exception {
System.out.println("m1----------start");
m2();
// 手动抛出受查异常
throw new Exception();
//System.out.println("m1----------end");
}
public static void m2() {
System.out.println("m2----------start");
// 手动抛出运行时异常,需要携带信息“程序因为异常而终止”
throw new RuntimeException("程序因为异常而终止");
//System.out.println("m2----------end");
}
}
程序运行结果为:
m1----------start
m2----------start
Exception in thread "main" java.lang.RuntimeException: 程序因为异常而终止
at prac.t2.m2(t2.java:31)
at prac.t2.m1(t2.java:21)
at prac.t2.main(t2.java:16)
非常抱歉,您的问题不太清楚,无法给出具体的解决方案。请您提供更具体的问题描述,ChatGPT将竭尽全力帮助您解答。感谢您的配合!