JAVA 构造函数未定义
classStudent{privateStringname;privateintmath;publicvoidstudent(){}publicvoidstudent(...
class Student{
private String name;
private int math;
public void student(){}
public void student(String n,int m){
this.setName(n);
this.setMath(m);
}
public void setName(String n){
name=n;
}
public void setMath(int m){
math=m;
}
public String getName(){
return name;
}
public int getMath(){
return math;
}
public String getinfo(){
return this.getName();
}
}
public class Test{
public static void main(String args[]){
Student st=new Student("aaa",222);
System.out.println(st.getinfo());
}
}
中Student st=new student("dadasd",333)d的时候,提示为构造函数为定义student(String,int) 展开
private String name;
private int math;
public void student(){}
public void student(String n,int m){
this.setName(n);
this.setMath(m);
}
public void setName(String n){
name=n;
}
public void setMath(int m){
math=m;
}
public String getName(){
return name;
}
public int getMath(){
return math;
}
public String getinfo(){
return this.getName();
}
}
public class Test{
public static void main(String args[]){
Student st=new Student("aaa",222);
System.out.println(st.getinfo());
}
}
中Student st=new student("dadasd",333)d的时候,提示为构造函数为定义student(String,int) 展开
推荐于2017-10-06
展开全部
构造函数是没有返回类型,这个没有就是完全无,void都没有的。
public void student(String n,int m){
this.setName(n);
this.setMath(m);
}
这是一个方法而不是构造函数。
如果想到达到你的目的只需要把 void删除,那么这个方法就成为构造函数了。代码就正确了。
java类默认的构造函数是: 一个空参数 一类名为方法名 无返回类型修饰,按照你所写的类, 那么方法是 public Student(){}
而你的这个student(String n,int m)方法,java编译看做是一个方法,而不是构造函数
目前他只有一个默认的构造函数那就是 public Student(){} 无参数,你传了参数那么当然找不到构造函数。
记住一点:构造函数是一个特殊的函数,他是无返回类型修饰(就是没有任何返回类型,包括void也没有),其次就是 和类名一摸一样。这才是构造函数。参数就随意了。
public void student(String n,int m){
this.setName(n);
this.setMath(m);
}
这是一个方法而不是构造函数。
如果想到达到你的目的只需要把 void删除,那么这个方法就成为构造函数了。代码就正确了。
java类默认的构造函数是: 一个空参数 一类名为方法名 无返回类型修饰,按照你所写的类, 那么方法是 public Student(){}
而你的这个student(String n,int m)方法,java编译看做是一个方法,而不是构造函数
目前他只有一个默认的构造函数那就是 public Student(){} 无参数,你传了参数那么当然找不到构造函数。
记住一点:构造函数是一个特殊的函数,他是无返回类型修饰(就是没有任何返回类型,包括void也没有),其次就是 和类名一摸一样。这才是构造函数。参数就随意了。
追问
但是去掉viod就提示缺少方法的返回值~~
追答
当然,因为你的方法名是小写的,注意。方法名要和类名一摸一样才是构造函数
展开全部
public void student(String n,int m){
this.setName(n);
this.setMath(m);
}
这个不是构造函数
构造函数没有返回类型
改成:
public student(String n,int m){
this.setName(n);
this.setMath(m);
}
希望对你有帮助
this.setName(n);
this.setMath(m);
}
这个不是构造函数
构造函数没有返回类型
改成:
public student(String n,int m){
this.setName(n);
this.setMath(m);
}
希望对你有帮助
追问
去掉void后会提示缺少方法的返回值。而返回值类型一个是String一个是int 不知道该如何给定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Student {
private String name;
private int math;
Student(String name,int math) {
this.math=math;
this.name=name;
}
public void student() {
}
public void student(String n, int m) {
this.setName(n);
this.setMath(m);
}
public void setName(String n) {
name = n;
}
public void setMath(int m) {
math = m;
}
public String getName() {
return name;
}
public int getMath() {
return math;
}
public String getinfo() {
return this.getName();
}
}
增加构造方法
Student(String name,int math) {
this.math=math;
this.name=name;
}
private String name;
private int math;
Student(String name,int math) {
this.math=math;
this.name=name;
}
public void student() {
}
public void student(String n, int m) {
this.setName(n);
this.setMath(m);
}
public void setName(String n) {
name = n;
}
public void setMath(int m) {
math = m;
}
public String getName() {
return name;
}
public int getMath() {
return math;
}
public String getinfo() {
return this.getName();
}
}
增加构造方法
Student(String name,int math) {
this.math=math;
this.name=name;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要指定void
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |