JAVA学习中的问题
1、用实例作参数时,何时用class   a形式,何时用new   class()形式?    
 比如:    
 public   void   paint(Graphics   g){}为什么不能写成public   void   paint(new   Graphics()){}?    
 而addKeyListener(new   KeyAdapter(){});就不能写成addKeyListener(KeyAdapter   k{});?      
 2、为什么我用eclipse运行有参数传递的applet时,参数总是传递不了,而在浏览器中查看时一切正常?    
  <applet   code= "A "   width=300   higth=240>     
  <param   name=m   value=n>     
  </applet>     
 在eclipse中,m的值n在小应用程序中用getParameter( "m ")方法传递,没有错误,但结果却是发现不了。
------解决方案--------------------1、用实例作参数时,何时用class a形式,何时用new class()形式?  
 比如:  
 public void paint(Graphics g){}为什么不能写成public void paint(new Graphics()){}?  
 而addKeyListener(new KeyAdapter(){});就不能写成addKeyListener(KeyAdapter k{});?   
 ============== 
 方法在声明时要指定形参的类型. public void paint(Graphics g){} 
 调用方法时只能给出实参: 
 a.paint(new Graphics()) // 相当于 graphics = new Graphics();  a.praint(graphics);     
 addKeyListener(new KeyAdapter(){}); 
 这是匿名类的用法. 相当于: 
 class AKeyListener extend KeyAdapter { 
     //.... 
 } 
 akeylistener = new AKeyListener(); 
 addKeyListener(akeylistener); 
 所以 new KeyAdapter(){} 是定义了一个新类并创建了新类的对象. 放在一步完成.