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);
}
}

  出现“方法声明无效,需要返回值”的错误,原因在于声明的方法有返回值,可是方法末尾却没有返回值返回,也就是没有return。

  如下代码:

public int test(){
int i = 1;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-15
你这是要写构造方法呢还是?要是写构造方法的话那你就应该把方法名改成和类名相同,要是不和类名相同那就是普通方法,那就得指定返回类型,没有返回值的话那也得加上个void,不然就像现在这样报错。。。
第2个回答  2011-05-15
出错的那个地方你的构造方法名不对 ,应该与类名同名的,如果那个不是构造方法,肯定得需要返回值的,要么是void 要么就是其他的类型
第3个回答  2011-05-15
把它改成: public void HelloJava2(String message){
theMessage=message;
addMouseMotionListener(this);
}

因为你如果没有返回值,就用void。有返回值的话就写返回值类型。
第4个回答  2011-05-15
public HelloJava2(String message){
theMessage=message;
addMouseMotionListener(this); 这里出错。
}

错误就在这里。我了解你是想为它写一个构造方法,可是你写的构造方法名HelloJava2和类名HelloJava不一样啊。构造方法必须与类名完全一致。本回答被提问者采纳

Java方法声明无效,需返回类型?
你这个构造方法有问题,名字错了,如果不是构造方法,那就是你没写返回值 标准方法的格式:修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2, 。。。){ 执行语句 return 返回值 } 构造方法的格式 修饰符 类名(参数类型 形参1,参数类型 形参2,...){ 执行代码 } 区别 构造方法...

JAVA方法声明无效,需要返回类型?
是的,第一个函数应该是想写个构造函数,但是函数名写错了,跟类名相差n,所以需要提供返回值类型

java中方法声明无效,需要返回类型
说明需要return一个参数。举例:一:public String test(){} ;这样的定义就会报错需要返回类型;二:public String test( return "aaa" ){} ; 因为定义的返回类型是字符串类型,所以只要返回一个字符串即可。备注:返回值类型必须和定义的类型一致,否则也会报错。

java运行后显示方法声明无效,需返回类型,希望高手帮忙解答一下,感激...
该程序,不要说运行,编译都通不过,有语法错误,第一个语法错误就是主方法没返回参数,应该返回void,第二个就是在同一个类里定义两个属性名相同,String output,第三个就是你赋值时是字符串数组类型,而你定义的是字符串类型 showMessageDialog(null,output)该方法不知道你执行什么操作,以下是我个人...

java错误: 方法声明无效; 需要返回类型?
看报错信息,可以定位到代码第三行。方法除了构造函数可以没有返回值,其他方法都需要返回值,没有返回值的也需要写void。 如果是构造函数,函数名要跟类名一样

java运行后显示方法声明无效,需返回类型,希望高手帮忙解答一下,感激...
你那程序不要说运行,就连编译都不能通过:首先主方法没有返回类型,方法的返回类型应该是void 再次就是在主方法里你定义了两个output参数,这是语法不允许的,再次就是你这参数赋值是字符串数组类型,而你定义的却是字符串类型:以下是我根据你上面程序的意思理解写的一个程序,希望对你有点帮助 publ...

java 中提示:方法声明无效;需要返回类型是怎么回事
public A(int i) {..},并且在第一个类中你了有这样调用这个类:A a=new A(5); 所以你第二个类名一定是写错了。而且在一个包中不能有同名的类,这也是你犯的一个错误。还有在你第一个类中的public static void main(String args) 中要麼不要带参数,要麼就写成String[] args ...

JAVA中编程出现问题,系统提示我“方法声明无效;需要返回类型”?请谁能...
一个.java文件中只能有一个public class ,并且文件名要与public 类名完全一致,区分大小写。可以将student.java 重命名为Student.java ,或者将public class Student 声明改成public class student。

java程序中"显示方法声明无效 需要返回类型"
public HelloWorld() { System.out.println("Hello World");} 上面这个方法的方法名写错了,这个是构造方法,没有返回值的,但是方法名必须和类名相同,你的程序中的public class HelloWorld1 extends MIDlet {说明你的类名为HelloWorld1,所以 在此处也就是必须为 public HelloWorld1() { System.out...

java 方法声明无效;需要返回类型 是怎么解决的
public Seqlist() { initiate(defaultSize);} initiate(size);} 楼主是想重载构造函数吧,这要求函数名和类名完全一致 public SeqList(int size)和类名不一样了(L大写了) ,程序认不出你这是构造函数,认为他是普通的函数了,从而提示你缺少返回值 ...

相似回答