您的位置:首页 > 编程语言 > Java开发

Java学习之范例与类集总结

2016-03-06 19:40 351 查看
1、范例-一对多关系

定义学生类:

public class Student {
private String name;
private int age;
private School school;
public Student(String name,int age){
this.setName(name);
this.setage(age);
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public School getSchool(){
return school;
}
public void setSchool(School school){
this.school=school;
}
public String toString(){
return "学生姓名:"+this.name+";年龄是:"+this.age;
}

}
定义学校类:

import java.util.ArrayList;
import java.util.List;
public class School {
private String name;
private List<Student> allStudents;
public School(){//无参构造
this.allStudents=new ArrayList<Student>();//实例化List集合
}
public School(String name){
this();//调用无参构造
this.getName(name);//设置name属性内容
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public List<Student> getAllStudent(){
return allStudent;
}
public String toString(){
return "姓名是::+this.name;
}

}
测试程序,并设置关系

import java.util.Iterator;
public class MyThread{
public static void main(String[] args){
School sch=new School("清华大学");
Student stu1=new Student("张三","21");
Student stu2=new Student("李四","22");
Student stu3=new Student("王五","23");
sch.getAllStudent().add(stu1);
sch.getAllStudent().add(stu2);
sch.getAllStudent().add(stu3);
stu1.setSchool(sch);
stu2.setSchool(sch);
stu3.setSchool(sch);
System.out.println(sch);
//实例化Iterator对象,用于输出全部的学生信息
Iterator<Student> iter=sch.getAllStudent().iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}

}
}
输出:

学校名称:清华大学

学生姓名是:张三;年龄是:21

学生姓名是:李四;年龄是:22

学生姓名是:王五;年龄是:23

1、List接口的常用子类是ArrayList和Vactor,ArrayList性能较高是异步处理,而Vactor性能较低是同步处理

2、Set接口和Collection接口的定义一致,里面的内容不允许重复。依靠Object类中的equals()和HashCode()方法来判断是不是同一个对象

3、Set接口常用的子类是HashSet和TreeSet,HashSet是无序的,TreeSet是有序的,利用Comparable进行key的排序操作

4、Map接口存放key-Value形式的内容,每一组key-value都是Map.Entry对象的实例

5、Map中的常用子类有HashMap,TreeMap,Hashtable,HashMap是异步处理,Hashtable是同步处理,TreeMap是利用comparable进行key的排序

Class类是反射机制操作的源头

Class类的对象有三种实例化方式:

1、通过Object类的getClass()方式

2、通过“类.Class”的形式

3、通过Class.forName()方法,此种方法最常用

可以通过反射取得一个类所继承的父类,实现的接口、类中的全部构造方法、全部普通方法和全部属性

动态代理可以解决开发中代理类过多的问题,提供统一的代理功能实现

在程序的开发中使用反射机制并结合属性文件,可以达到程序代码和配置文件相分离的目的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: