- 换行
String + System.getProperty("line.separator")
继承(子类,父类)
转化问题
子类 转化为 父类 成为 向上造型,向上造型总是安全的
父类 如果直接转换为 子类 <直接转换,会抛出ClassCastException异常>
static class User {
public String name;
}
static class Admin extends User {
public String name;
public int age;
}
public static void main(String[] args) {
User user = new User();
user.name = "jimmy";
Object object = user; // 父 - 子
User users = (User) object; // 子 - 父()
System.out.println(users.name);
Admin admin = new Admin();
admin.name = "jimmy2";
admin.age = 10;
User user1 = admin; // 父 - 子 ,age 消失
Admin admin1 = (Admin) user1; // 子 - 父 ,age 回来了
if (admin1 instanceof User) {
System.out.println(admin1.name);
System.out.println(admin1.age);
}
User user3 = new User();
user3.name = "jimmy3";
Admin admin3 = (Admin) user3; // 子 - 父
/** (直接转换,会抛出ClassCastException异常) */
System.out.println(admin3.name);
}
Java 中的对象 O
1. VO
- (Value Object)
精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。
2. PO
- 持久对象(Persisent Object)
PO则是向数据库中添加新数据时创建,删除数据库中数据时削除的。并且它只能存活在一个数据库连接中,断开连接即被销毁
3. POJO
- (plain ordinary java object) 简单无规则java对象
4. TO
- (Transfer Object),数据传输对象
在应用程序不同tie(关系)之间传输的对象
5. BIZ
- 其名称就是商业的简写,也就是其对应的是业务层,
此包里的对象通过调用DAO中的对象里的方法来完成业务层上的操作,其目的是封装对数据库的操作。
6. DTO
- data transfer object 数据传输对象
有时我们仅仅需要获得某个表的几个字段,所以此时用PO对象就有点大材小用了,我们就可以用DTO来存储这几个字段。可以把它理解为VO
反编译
jd-gui可以反编译class文件,有图形化界面。
原子
public AtomicInteger count = new AtomicInteger(100);