西安-hhxx(549101066) 23:01:32
import java.awt.*;
import java.applet.*;
class  cc
{
  class a
{
 void af(Graphics g)
{
g.drawString("This is a 's   mode",24,23); }
}
public class b
{

a achild=new a();
a.af; }
}
这个程序有错误,请问怎么改

解决方案 »

  1.   

    犯了几个错误:1、
    a achild=new a();
    a.af;
    这样的语句不能直接写在类中,必须写在方法中2、af方法是类a的非static方法,不能用“类名.方法名”的方式调用,可以改成“对象名.方法名”的方式。3、af方法有一个参数,调用的时候不能直接a.af或者achild.af,必须要有括号“()”,而且要传给它一个Graphics类型的对象作为参数。
      

  2.   

    同意 brooksychen(初晨之阳) 
      a achild=new a();
       a .af;应该是 achild。af;
      

  3.   

    TO:brooksychen(初晨之阳)
    1.你不应该否认这种写法是错误的,尽管这种写法是不可取的
    2.我帮你修改了代码,但是Graphics的用法不大知道,声名Graphics类型变量的地方还是报错你再研究一下
    3.修改代码如下
    import java.awt.*;
    import java.applet.*;
    class  cc extends Applet{
      class a{
        void af(Graphics g){
          g.drawString("This is a 's   mode",24,23);
        }
      }
      
      public class b{
        void bf(){
          a achild=new a();
          Graphics gg;
          achild.af(gg);
        }
      }
    }