Java学习之范例与类集总结
2016-03-06 19:40
351 查看
1、范例-一对多关系
定义学生类:
学校名称:清华大学
学生姓名是:张三;年龄是: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()方法,此种方法最常用
可以通过反射取得一个类所继承的父类,实现的接口、类中的全部构造方法、全部普通方法和全部属性
动态代理可以解决开发中代理类过多的问题,提供统一的代理功能实现
在程序的开发中使用反射机制并结合属性文件,可以达到程序代码和配置文件相分离的目的
定义学生类:
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()方法,此种方法最常用
可以通过反射取得一个类所继承的父类,实现的接口、类中的全部构造方法、全部普通方法和全部属性
动态代理可以解决开发中代理类过多的问题,提供统一的代理功能实现
在程序的开发中使用反射机制并结合属性文件,可以达到程序代码和配置文件相分离的目的
相关文章推荐
- 20145230《JAVA程序设计》第1周学习总结
- Java多线程学习(四)
- 修改maven配置默认jdk版本
- 《疯狂Java讲义》——控制线程
- 下载eclipse
- ubuntu下Eclipse安装
- 重新认识java-LinkedList
- 《Java程序设计》第1周学习总结
- Java线程状态
- JAVA-内部类
- 【JAVA集合】ArrayList
- org.springframework.beans.factory.CannotLoadBeanClassException
- 使用spring webflow遇到的问题-3
- Java开发文档的使用与Hashcode的入门(老鸟勿进)
- [学习笔记】Java Numbers类与Math类
- Java并发编程笔记 Native方法,CAS操作与ABA问题
- (java) Single Number II
- Spring MVC之@PathVariable @RequestHeader, @CookieValue@RequestParam @RequestBody @RequestHeader 等详解
- eclipse调试
- Java-猜拳游戏