代码我改了一下,你收到nullpointer exception是因为class j1中的Graphics g对象只是被声明没有被实例化(就是没有被new一个Grahpics),考虑到你想修改的是j2的graphics,所以将其作为一个参数传入j1的构造函数中。不过需要指出的是,仅仅在init中使用graphics的图形方法是不能得到预期效果的,你需要重载Applet的paint方法,在paint函数中绘制输出。import java.awt.*;
import java.applet.*;class j1{
Graphics g;
public j1(int x,int y,Graphics graphics){
g = graphics;
g.setColor(Color.black);//无效
Font fnt=new Font("TimesRoman",Font.BOLD,30);
g.setFont(fnt);//无效
g.drawString("ok",x,y);//无效
}
}public class J2 extends Applet {

public void init() {
new j1(20,30,getGraphics());
}}