我得到了一个错误,即;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);
    }
}