JAVA 多对多例子
使用类集不仅可以表示出一对一的关系,也可以表示出多对多的关系。例如,一个学生可以选多门课程,一门课程可以有多个学生参加,那么这就是一个典型的多对多关系。
要完成本程序,首先应该定义两个类:学生信息类Student、课程信息类Course。在一个学生类中存在一个集合,保存全部的课程;而在课程类中也要存在一个集合,保存全部的学生。
范例:定义学生类
package org.lxh.demo13.execdemo02;
import java.util.ArrayList;
import java.util.List;
public class Student { // 定义学生类
private String name ; // 定义name属性
private int age ; // 定义age属性
private List<Course> allCourses ; // 定义集合保存全部课程
public Student(){// 无参构造
this.allCourses = new ArrayList<Course>() ;// 实例化List集合
}
public Student(String name,int age){ // 通过构造设置属性内容
this() ; // 调用无参构造
this.setName(name) ; // 设置name属性内容
this.setAge(age) ; // 设置age属性内容
}
public String getName() {// 取得name属性
return name;
}
public void setName(String name) {// 设置name属性
this.name = name;
}
在学生类中存在一个allCourses的List集合,这样在程序运行时,一个学生类中可以保存多个Course对象。
范例:定义课程类
package org.lxh.demo13.execdemo02;
import java.util.ArrayList;
import java.util.List;
public class Course { // 定义Course类
private String name ; // 定义name属性
private int credit ; // 定义credit属性,表示学分
private List<Student> allStudents ; // 定义集合保存多个学生
public Course(){ // 无参构造方法
this.allStudents = new ArrayList<Student>() ;// 实例化List集合
}
public Course(String name,int credit){ // 设置name和credit 属性
this() ; // 调用无参构造
this.setName(name) ; // 设置name属性
this.setCredit(credit) ; // 设置credit属性
}
public String getName() { // 取得na
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
引言:从一个朋友的blog转过来的,里面解决了两个困扰我很久的问题。很有久旱逢甘霖的感觉。
中软国际电子政务部Jeff Chi总结,转载请说明出处。
概述:
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
&nb ......
Constant Pool常量池的概念:
在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太
明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Constant Pool的内容.
String Pool是对应于在Constant Pool中存储String常量的区域.习惯称为String Pool,也有人称 ......
文章出处: http://java.chinaitlab.com/base/807715.html
Java对象序列化是JDK1.1中引入的一组开创性特性之一,之前51CTO也曾介绍过Java序列化的机制和原理,这里我们将使用Person来发现您可能不知道的关于Java对象序列化的5件事。
实际上,序列化的思想是“冻结”对象状态,传输对象状态(写到磁盘、通过 ......
主要代码参考了beansoft的ZipUtil,添加了一个方法,
可以把不同目录文件添加到zip中,并做了一些改进,使用了apache的zip类,(原为jdk的zip类),使支持中文文件名。
apache的zip类可以从ant中抽取。apache好像没有提供单独下载。
package com.order;
import java.io.*;
import java.util.List;
import org.apache.tool ......