ここにメインクラスがあります
public class Testing extends JFrame{
private static final long serialVersionUID = 1L;
public Testing(){
    setContentPane(new Canvas());
    setVisible(true);
    setLocationRelativeTo(null);
}
public static void main(String[] args0){
    new Testing();
}
}
Canvas クラスの drawImage メソッドでエラーが発生します。画像を入れてソースフォルダーとして使用する res フォルダーを作成しました。
public class Canvas extends JPanel{
Graphics g;
Graphics2D g2 = (Graphics2D)g;
BufferedImage image;
private static final long serialVersionUID = 1L;
public Canvas(){
    setPreferredSize(new Dimension(800,600));
    loadImage("/space.png");
    draw(g2);
}
public void draw(Graphics2D g2){
    g2.drawImage(image, 0,0,this);
}
public void loadImage(String path){
    try {
        image = ImageIO.read(
            getClass().getResourceAsStream(path)
        );
    }
    catch(Exception e) {
        e.printStackTrace();
        System.out.println("image loading error");
    }
}
}
お手伝いありがとう。
プログラムを実行したときに発生したエラー。
Exception in thread "main" java.lang.NullPointerException
at Canvas.draw(Canvas.java:21)
at Canvas.<init>(Canvas.java:18)
at Testing.<init>(Testing.java:11)
at Testing.main(Testing.java:17)