下面给大家介绍一下关于Java的类与类的基础知识,还有单例模式和工厂模式,有做的不详细的地方希望大家提出来哟!
类与类的关系
1.实现 一个类实现一个接口
2.泛化 一个类继承另一个类
3.依赖 一个类是另一个类方法的局部变量 一个类是另一个类方法的返回类型 一个类是另一个类方法的参数
4.聚合 一个类是另一个类的属性 是整体和局部的关系
5.组合 一个类是另一个类的属性,是整体中不可分割的一部分 属于强聚合
6.关联 依赖/聚合/组合 合称关联
反射定义: 在编译期并不清楚应该加载哪个类,类的加载时在运行期间进行的,通过反射,可以对类进行加载 探知 自身
Dog d1 = new Dog(2,"旺财");
1.类名.class 获取class对象 Class c = Dog.class;
2.对象.getclass() Class c = d1.getClass();
3.通过Class.forName(类的全路径) Class c = null; c = Class.forName("包名+类名") 包名指的是文件所在位置 类名指的是引用的对象所在的类名
工厂模式: 将对象的创建和对象使用分开进行
事务:
事务是用户定义的一个操作序列 事务认为,这些操作序列是一个不可分割的工作单位.
事务有四个特点: 原子性,一致性 隔离性 和持久性
原子性: 表示事务执行过程中,用户定义的操作序列要么全部成功要么全部失败
一致性:表示当事务执行失败时,所有被该事物影响的数据都应该恢复到事务执行前的状态,这称为事务回滚
隔离性: 表示事务在执行过程中对数据的修改 在事务提交之前 对其他事务不可见.
持久性: 表示事务完成之后,对系统的影响是永久性的,如果已提交的数据在事务执行失败时,数据的状态都应该是正确
单例模式:
让一个类产生的对象只有一个唯一的对象,减少内存中的消耗
package com.project.model;
public class Single {
/**
* 立即加载方式 ,当类一加载,马上实例化对象
*/
private static Single single = new Single();
private Single() {
}
public static Single getSingle() {
return single;
}
/**
* 延迟记载方式(懒加载) 类加载时并不实例化 调方法时在实例化
*/
private Single() {
System.out.println("构造方法");
}
private static class InnerClass {
public static Single single = new Single();
}
public static Single getSingle() {
return InnerClass.single;
}
}
原文:https://www.cnblogs.com/lyslyslyslyslys/p/12037788.html