package test;
class Point{
public int x ,y;
public Point(int x,int y)
{
this.x = x;this.y = y;
}
public int GetX(){
return this.x;
}
public int GetY(){
return y;
}
}
class Line{
public Point p1,p2;
Line(){};
Line(Point a,Point b)
{
p1 = new Point(a.GetX(),a.GetY());
p2 = new Point(b.GetX(),b.GetY());
}
public double Length(){
return Math.sqrt(Math.pow(p2.GetX()-p1.GetX(), 2) + Math.pow(p2.GetY()-p1.GetY(),2));
}
}
public class aLine {
public static void main(String[] args)
{
Line l = new Line();
l.p1.x=2;l.p1.y=3;l.p2.x=4;l.p2.y=5;
System.out.println(l.Length());
}
}
总是报错Exception in thread "main" java.lang.NullPointerException
at test.aLine.main(aLine.java:31)
是不是Line构造函数的问题?Line如何写构造函数