当前位置:编程学习 > JAVA >>

java 方法声明无效,需要返回值

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class HelloJava extends JComponent implements MouseMotionListner{ int messageX=125,messageY=95; String theMessage; public HelloJava2(String message){ theMessage=message; addMouseMotionListener(this); 这里出错。 } public void paintComponent(Graphics g){ g.drawString(theMessage,messageX,messageY); } public void mouseDragged(MouseEvent e){ messageX=e.getX(); messageY=e.getY(); repaint(); } public void mouseMoved(MouseEvent e){} public static void main(String[] args){ JFrame f=new JFrame("HelloJava2"); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){System.exit(0);} }); f.setSize(300,300); f.getContentPane().add(new HelloJava2("Hello,java!")); f.setvisible(true); } }
答案:public HelloJava2(String message){
  	theMessage=message;
  	addMouseMotionListener(this);       这里出错。
  }

错误就在这里。我了解你是想为它写一个构造方法,可是你写的构造方法名HelloJava2和类名HelloJava不一样啊。构造方法必须与类名完全一致。
其他:把它改成: public void  HelloJava2(String message){
  	theMessage=message;
  	addMouseMotionListener(this);       
  }

因为你如果没有返回值,就用void。有返回值的话就写返回值类型。 把返回值设成void 你这是要写构造方法呢还是?要是写构造方法的话那你就应该把方法名改成和类名相同,要是不和类名相同那就是普通方法,那就得指定返回类型,没有返回值的话那也得加上个void,不然就像现在这样报错。。。 出错的那个地方你的构造方法名不对 ,应该与类名同名的,如果那个不是构造方法,肯定得需要返回值的,要么是void 要么就是其他的类型 

上一个:java试题
下一个:java安装问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,