写了几行,运行之,发现有时能运行,有时又报错。结果如下:
1--能运行时:
run:
调用有参构造函数
有参构造函数==坐标为(6,5)
tostring
坐标为(6,5)
===================
调用get函数
输入两个数
8
8
调用set函数
调用set函数==坐标为(8,8)
成功生成(总时间:4 秒) 2--不能运行时:
run:
Exception in thread "main" java.lang.NoClassDefFoundError: suibi/Point (wrong name: suibi/point)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at suibi.point.main(point.java:49)
Java Result: 1
成功生成(总时间:0 秒)
代码如 java code:package point1;
import java.util.*;
class Point {
int x,y;
public Point (){
System.out.println("调用无参构造函数");
}
public Point (int a,int b){
System.out.println("调用有参构造函数");
this.x=a;this.y=b;
System.out.println("有参构造函数==坐标为("+x+","+y+")");
}
public void set(int [] p){
System.out.println("调用set函数");
this.x=p[0];
this.y=p[1];
System.out.println("调用set函数==坐标为("+this.x+","+this.y+")");
}
public int [] get(){
System.out.println("调用get函数");
System.out.println("输入两个数");
int [] s=new int[2];
Scanner sc = new Scanner(System.in);
s[0]=sc.nextInt();
s[1]=sc.nextInt();
return s;
}
public String toString(){ return "坐标为("+this.x+","+this.y+")";
}}
/**
*
* @author Administrator
*/
public class Main { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
Object oo2=new Point(6,5);
System.out.println("tostring");
System.out.println(oo2.toString());
System.out.println("===================");
((Point)oo2).set(((Point)oo2).get());
// TODO code application logic here
}} code end高人们帮帮我,自己实在不知道为什么。
1--能运行时:
run:
调用有参构造函数
有参构造函数==坐标为(6,5)
tostring
坐标为(6,5)
===================
调用get函数
输入两个数
8
8
调用set函数
调用set函数==坐标为(8,8)
成功生成(总时间:4 秒) 2--不能运行时:
run:
Exception in thread "main" java.lang.NoClassDefFoundError: suibi/Point (wrong name: suibi/point)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at suibi.point.main(point.java:49)
Java Result: 1
成功生成(总时间:0 秒)
代码如 java code:package point1;
import java.util.*;
class Point {
int x,y;
public Point (){
System.out.println("调用无参构造函数");
}
public Point (int a,int b){
System.out.println("调用有参构造函数");
this.x=a;this.y=b;
System.out.println("有参构造函数==坐标为("+x+","+y+")");
}
public void set(int [] p){
System.out.println("调用set函数");
this.x=p[0];
this.y=p[1];
System.out.println("调用set函数==坐标为("+this.x+","+this.y+")");
}
public int [] get(){
System.out.println("调用get函数");
System.out.println("输入两个数");
int [] s=new int[2];
Scanner sc = new Scanner(System.in);
s[0]=sc.nextInt();
s[1]=sc.nextInt();
return s;
}
public String toString(){ return "坐标为("+this.x+","+this.y+")";
}}
/**
*
* @author Administrator
*/
public class Main { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
Object oo2=new Point(6,5);
System.out.println("tostring");
System.out.println(oo2.toString());
System.out.println("===================");
((Point)oo2).set(((Point)oo2).get());
// TODO code application logic here
}} code end高人们帮帮我,自己实在不知道为什么。
和1楼的一样