请求解释一下注释部分的代码,详细点

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
class Member{
        private int mid; 
        private String name;
        private Car car;  //这里请求解释
        public Member(int mid,String name){
            this.mid =mid ;
            this.name=name;
        }
        public void setCar (Car car){     //这里这个方法请求解释
            this.car=car;
        }
        public Car getCar(){      //这里这个方法请求解释
            return this.car;
        }
        
        public String getInfo(){
            return "人员编号:"+this.mid+",姓名:"+this.name;
        }
    }
    class Car {
        private Member member; //这里请求解释
        private String pname;
        public Car (String pname){
            this.pname=pname;
        }
        public void setMember (Member member){  //这里这个方法请求解释
            this.member=member;
        }
        public Member getMember(){   //这里这个方法请求解释
            return this.member;
        }
        public String getInfo(){
            return "车的名字:"+this.pname;
        }
    }
    
    public class Demo{
        public static void main(String args[]){
            Member m =new Member(1,"冬眠");
            Car c = new Car("一手奥迪");
            m.setCar(c);
            c.setMember(m);
            System.out.println(m.getCar().getInfo());
            System.out.println(c.getMember().getInfo());
        }
    }

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
//会员类定义
class Member{
        private int mid; 
        private String name;
        private Car car;  //定义一个用于在会员类中调用的汽车类对象,通过下方的汽车类声明
        public Member(int mid,String name){
            this.mid =mid ;
            this.name=name;
        }
        public void setCar (Car car){     //用于将汽车数据赋值给该会员的汽车对象
            this.car=car;
        }
        public Car getCar(){      //用于获取本会员的汽车对象数据
            return this.car;
        }
        
        public String getInfo(){
            return "人员编号:"+this.mid+",姓名:"+this.name;
        }
    }

//汽车类定义
    class Car {
        private Member member; //声明会员对象(通过上面定义的会员类声明)
        private String pname;
        public Car (String pname){
            this.pname=pname;
        }
        public void setMember (Member member){  //用于给会员对象赋值数据
            this.member=member;
        }
        public Member getMember(){   //用于获取会员对象的数据
            return this.member;
        }
        public String getInfo(){
            return "车的名字:"+this.pname;
        }
    }
    
    public class Demo{
        public static void main(String args[]){
            Member m =new Member(1,"冬眠"); //定义一个会员对象,数据:ID为1,名称为冬眠
            Car c = new Car("一手奥迪"); //定义一个车辆对象,数据:名称一手奥迪
            m.setCar(c); //将一手奥迪赋值给冬眠
            c.setMember(m);//将冬眠赋值给一手奥迪
            System.out.println(m.getCar().getInfo());//获取会员的汽车信息
            System.out.println(c.getMember().getInfo());//获取汽车的会员信息
        }
    }


private Car car; //为私有对象只能在本类中使用
public void setCar (Car car){ //这个是car对象生成的set方法在调用这个car的set属性时使用
this.car=car;
}
public Car getCar(){ //这个方法是获取car对象时才会调用
return this.car;
}
以上两个方法为get和set方法

private Member member; //这个时私有的变量
setMember 跟上面的解释一样

这个定义了一个变量,第一个是把传递过来的车赋值给现在的这个变量的车。第二个是返回这个车的数据,这个member也是类似的

Car 为例做一下解释吧,Member 可参照 Car 理解。

  • 首先 Car 和 String 都是 Java 中的类,只是 Car 这个类是自定义的,每个类可以拥有自己的成员变量和成员方法。
  • private Car car; 对于 Member 类来说,这段代码就表示 Member 类有一个类型为 Car 名称为 car 的成员变量。和 private String name; 一样理解就可以了。
  • public void setCar (Car car){} 这里的 Car 表示 setCar 方法有一个类型为 Car 名称为 car 的方法参数,方法参数是临时变量,方法执行后就不存在了,这个方法的目的是把方法参数 car 的值保存到成员变量 car,这样只要 Member 实例没有被销毁这个成员变量就一直存在。

建议去看Java的网课或者是Java核心技术卷,去学习一下基础知识,这就是Java的一些基本语法。

Member 会员 中的setCar 和getCar 可以理解为.赋值该成员开的啥车及获取该成员开的啥车. Car 车.setMember和getMember 可以理解为. 赋值车是xx会员开的及获取车是哪个xx会员开的


class Member{
        private int mid; 
        private String name;
        private Car car;  //这里是一个私有的只能在本类使用的Car类型的对象
        public Member(int mid,String name){
            this.mid =mid ;
            this.name=name;
        }
        public void setCar (Car car){     //setCar方法的参数是一个Car类型的对象
            this.car=car;  //这里的赋值就是把上一行的参数car对象赋值给上面声明的私有car对象
        }
        public Car getCar(){      //getCar方法是返回上面声明的car对象
            return this.car;  //返回上述声明的car对象,这样就突破了私有的只能在本类使用的限制,可以在其他类中调用该方法获得car对象
        }
        
        public String getInfo(){
            return "人员编号:"+this.mid+",姓名:"+this.name;
        }
    }
    class Car {
        private Member member; //这里声明了一个私有的member对象
        private String pname;
        public Car (String pname){
            this.pname=pname;
        }
        public void setMember (Member member){  //这个方法和上一个类方法相同
            this.member=member;
        }
        public Member getMember(){   //这个方法和上一个类方法相同
            return this.member;
        }
        public String getInfo(){
            return "车的名字:"+this.pname;
        }
    }
    
    public class Demo{
        public static void main(String args[]){
            Member m =new Member(1,"冬眠");
            Car c = new Car("一手奥迪");
            m.setCar(c);
            c.setMember(m);
            System.out.println(m.getCar().getInfo());
            System.out.println(c.getMember().getInfo());
        }
    }