多对多的关系

public class Lll {

    public static void main(String[] args) {
        Bj bj =new Bj();
        bj.setName("三年一班");
        
        Bz bzh =new Bz();
        bzh.setName("周杰伦");
        //设置班长
        bj.setBz(bzh);
        //获取三年一班的班长
        Bz ban = bj.getBz();
        System.out.println("三年一班的班长是:"+ban.getName());
        
        //查找周杰伦所在的班级
        
        bzh.setBj(bj);
        System.out.println("周杰伦所在的班级是:"+bzh.getBj().getName());
    }

}
class Bj{
    private String name;
    private Bz bz;
    public Bj(){}
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    //bz属性的赋值和提取
    public Bz getBz() {
        return bz;
    }

    public void setBz(Bz bz) {
        this.bz = bz;
    }
    
    public String getInfo(){
        return name+"班级名字";
    }

    
}
class Bz{
    private String name;
    private Bj bj;
    public Bz(){}
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    //班级属性的赋值和提取方法
    public Bj getBj() {
        return bj;
    }

    public void setBj(Bj bj) {
        this.bj = bj;
    }
    
    public String getInfo(){
        return name+"班长姓名";
    }

    
    
    
    
    
}

 一对多

package lxd;

public class Lxd{
    public static void main(String[] args) {
        //1初始化数据
        Dept d1 = new Dept("财务部","济南");
        Emp e1 = new Emp("张三","总监");
        Emp e2 = new Emp("李四","经理");
        Emp e3 = new Emp("王五","员工");
        //2设置关系
        e1.setDept(d1);
        e2.setDept(d1);
        e3.setDept(d1);
        d1.setEmp(new Emp[]{e1,e2,e3});
        //3获取数据
        System.out.println(e3.getDept().getInfo());
        for (int i = 0; i < d1.getEmp().length; i++) {
            System.out.println(d1.getEmp()[i].getInfo());
        }
    }
        
    
}
class Emp{  //员工类
    private String ename;
    private String job;
    
    private Dept dept;  //部门属性
    
    public Emp(){};
    public Emp(String ename,String job){
        this.ename = ename;
        this.job = job;
    }
    
    public Dept getDept(){
        return dept;
    }
    public void setDept(Dept dept){
        this.dept = dept;
    }
    
    public String getInfo(){
        return "雇员姓名:"+ename+",职位"+job;
    }
}

class Dept{  //部门类
    private String dname;
    private String loc ;
    
    private Emp[] emps;  //多个员工属性
    
    public Dept(){};
    public Dept(String dname,String loc){
        this.dname = dname;
        this.loc = loc;
    }
    
    public void setEmp(Emp[] emps){
        this.emps = emps;
    }
    public Emp[] getEmp(){
        return emps;
    }
    
    public String getInfo(){
        return "部门名称"+dname+"地址:"+loc;
    }
}

多对多

package lxd;

public class Lxd{
    public static void main(String[] args) {
        //初始值
        Stu s1 = new Stu("张三");
        Stu s2 = new Stu("李四");
        Stu s3 = new Stu("王五");
        
        Course c1 = new Course("Java");
        Course c2 = new Course("Oracle");
        Course c3 = new Course("Python");
        //设置关系
        
        s1.setCourses(new Course[]{c1,c3});
        s2.setCourses(new Course[]{c2});
        s3.setCourses(new Course[]{c1,c2,c3});

        c1.setStus(new Stu[]{s1,s3});
        c2.setStus(new Stu[]{s2,s3});
        c3.setStus(new Stu[]{s1,s3});
        
        //取数据
        //张三选的课
        System.out.println(s1.getName()+"-"+"所选课程");
        for (int i = 0; i < s1.getCourses().length; i++) {
            System.out.println(s1.getCourses()[i].getName());
        }
    }
        
    
}
class Stu{
    private String name;
    private Course[] courses; //课程属性数组
    
    public Stu(){}
    public Stu(String name){
        this.name = name;
    }
    
    public String getName(){
        return name ;
    }
    public void setName(String name){
        this.name = name;
    }
    
    public Course[] getCourses(){
        return courses;
    }
    public void setCourses(Course[] courses){
        this.courses = courses;
    }
    
    
}
class Course{
    private String name;
    private Stu[] stus;
    //构造
    public Course(){}
    public Course(String name ){
        this.name = name;
    }
    //方法
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    
    public Stu[] getStus(){
        return stus;
    }
    public void setStus(Stu[] stus){
        this.stus = stus;
    }
    //
    public String getInfo(){
        return "课程"+name;
    }
}

 

posted @ 2017-11-30 23:31  沃泽法克  阅读(239)  评论(0编辑  收藏  举报