我得到了一个错误,即;void是变量setAge的无效类型; 包装实践; 导入java.io.ObjectInputStream.GetField; 公共类Encpsltn{ 公共静态void main(字符串[]args){ 私人互联网; 公共无效设置(int ageStu){ 如果(年龄大于0){ 年龄=ageStu; }否则{ 年龄=0; } } } }
不能在另一个方法体中编写方法。编译器将该设置识别为属性(变量),而不是您希望的方法,并且它不能为空。请按以下方式尝试我得到了一个错误,即;void是变量setAge的无效类型; 包装实践; 导入java.io.ObjectInputStream.GetField; 公共类Encpsltn{ 公共静态void main(字符串[]args){ 私人互联网; 公共无效设置(int ageStu){ 如果(年龄大于0){ 年龄=ageStu; }否则{ 年龄=0; } } } },java,encapsulation,Java,Encapsulation,不能在另一个方法体中编写方法。编译器将该设置识别为属性(变量),而不是您希望的方法,并且它不能为空。请按以下方式尝试 public class Encpsltn { private int age; public void setAge(int ageStu){ if(ageStu>0){ age=
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);
}
}
不能在另一个方法中定义方法。只能在另一个方法中调用已定义的方法。因此,编译器假定
setAge
是一个变量而不是一个方法,这使得void
成为无效的数据类型。因为void
不能用于变量。该方法不能在另一个方法中定义。考虑以下修改< /P>
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);
试试下面的代码
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);
}
}