我得到一个错误,因为“void是变量设置的无效类型”

nr9pn0ug  于 2021-07-06  发布在  Java
关注(0)|答案(5)|浏览(594)

这个问题在这里已经有答案了

“void是变量buttonok的无效类型”-单击按钮后尝试关闭对话框(3个答案)
上个月关门了。

package practice;

import java.io.ObjectInputStream.GetField;

public class Encpsltn {

    public static void main(String[] args) {

        private int age;

        public void setAge(int ageStu){
                if(ageStu>0){
                    age=ageStu;
                }else{
                    age=0;
                }

            }
        }
}
rsaldnfx

rsaldnfx1#

请按以下方式尝试

public class Encpsltn {

            private int age;

            public void setAge(int ageStu){
                    if(ageStu>0){
                        age=ageStu;
                    }else{
                        age=0;
                    }

                }

        public static void main(String[] args) {

           // Create an object of Encpsltn 
         Encpsltn  obj = new Encpsltn ();
         obj.setAge(40);
    }
}
bmvo0sr5

bmvo0sr52#

无法在另一个方法中定义该方法。考虑以下修改

public class Encpsltn {
private int age;
public void setAge(int ageStu){
                    if(ageStu>0){
                        age=ageStu;
                    }else{
                        age=0;
                    }

                }
}

实际上,您是主要的方法调用 setAge() 方法如下

public static void main(String[] args) {

           // Create an object of Encpsltn 
         Encpsltn  encps= new Encpsltn ();
         encps.setAge(20);
vaqhlq81

vaqhlq813#

不能在另一个方法体中编写方法。编译器将设置识别为属性(变量),而不是您希望的方法,并且它不能为空。

92vpleto

92vpleto4#

不能在另一个方法中定义一个方法。只能在另一个方法中调用已定义的方法。所以编译器假设 setAge 是变量而不是方法,这会使void成为无效的数据类型。

798qvoo8

798qvoo85#

尝试以下代码。

package practice;
import java.io.ObjectInputStream.GetField;

public class Encpsltn {

    private int age;

    public void setAge(int ageStu){
        if(ageStu>0){
            age=ageStu;
        }else{
            age=0;
        }

    }

}
public class Controller{
    public static void main(String args[]){
    Encpsltn encpsltn = new Encpsltn();
    encpsltn.setAge(12);
    }
}

相关问题