java编译时找不到符号

求:java编译时找不到符号
报错如下:
aim.java:4: 错误: 找不到符号
s.name="张三";
^
符号: 变量 name
位置: 类型为aim的变量 s
aim.java:5: 错误: 找不到符号
s.id=7;
^
符号: 变量 id
位置: 类型为aim的变量 s
aim.java:6: 错误: 找不到符号
s.sex="male";
^
符号: 变量 sex
位置: 类型为aim的变量 s
aim.java:7: 错误: 找不到符号
System.out.println(s.name);
^
符号: 变量 name
位置: 类型为aim的变量 s
aim.java:8: 错误: 找不到符号
System.out.println(s.id);
^
符号: 变量 id
位置: 类型为aim的变量 s
aim.java:9: 错误: 找不到符号
System.out.println(s.sex);
^
符号: 变量 sex
位置: 类型为aim的变量 s
6 个错误
代码如下:

public class aim{
    public static void main(String[] args){ 
        aim s=new aim();
        s.name="张三";
        s.id=7;
        s.sex="male";
        System.out.println(s.name);
        System.out.println(s.id);
        System.out.println(s.sex);
    }
}

  • aim 这个类里 要定义你这几个变量,如下:

img

public class aim{
    
    String name;
    int id;
    String sex;
    
    public static void main(String[] args){
        aim s=new aim();
        s.name="张三";
        s.id=7;
        s.sex="male";
        System.out.println(s.name);
        System.out.println(s.id);
        System.out.println(s.sex);
    }
}

你没定义这几个属性,你试试这样呢

public class aim{
    int id;
    String name;
    String sex;
    public static void main(String[] args){ 
        aim s=new aim();
        s.name="张三";
        s.id=7;
        s.sex="male";
        System.out.println(s.name);
        System.out.println(s.id);
        System.out.println(s.sex);
    }
}

因为aim这个类没有对应的属性
你可以这样写

public class aim{
  public String name;
  public int id;
  public String sex;
    public static void main(String[] args){ 
        aim s=new aim();
        s.name="张三";
        s.id=7;
        s.sex="male";
        System.out.println(s.name);
        System.out.println(s.id);
        System.out.println(s.sex);
    }


在类中定义的属性需要用public修饰,不然无法通过对象名.属性获取值合更改值