目录 start
目录 end
|2018-06-21| 码云 | CSDN | OSChina
while(true){}
do{}while(true);
for(int a=0; i<10; i++){}
for(Object item:list){}
其中list对象如果是通过调用一个对象的方法返回的,那么只会调用一次System.out.println("")
输出并在末尾追加换行
八种基本数据类型 byte char boolean short int long float double
Java8以前是使用char数组来存放String, Java8开始就是byte数组了
数值范围 +- 2147483647 也就是 2^31-1 也就说明了int是占四个字节 32位 一位是符号位
数值范围 +- 9223372036854775807 2^63-1 也就是八个字节 64位 一位是符号位
该类是final修饰的, 原因:知乎问题
常量池的实现
常见编码转换
str = new String(str.getBytes("iso8859-1"), "gb2312");
str = new String(str.getBytes("utf-8"), "utf-8");
参考博客: Java 语言中 Enum 类型的使用介绍 从上面的定义形式来看,似乎 Java 中的枚举类型很简单,但实际上 Java 语言规范赋予枚举类型的功能非常的强大,它不仅是简单地将整形数值转换成对象,而是将枚举类型定义转变成一个完整功能的类定义。
public enum Color {RED, GREEN, GRAY, BLUE, YELLOW, WHITE, PURPLE, BLACK}
public enum Tool{
INSTANCE(12);
private int num;
Tool(int num){
this.num = num;
}
public getNum(){
return num;
}
}
// 使用的时候
Tool.INSTANCE.getNum();
其域可以和其他常见类型一样, 作为类的成员, 也可作为方法的局部变量, 其中包含的各种变量的域都是按原规则生效的
但是内部类的属性不能用static修饰 归根结底,还是类与对象的区别,静态属性不依赖于对象,因为它保存在jvm的静态区,所以访问修改的时候不需要依赖当前有没有存活的对象,在虚拟机加载的时候也是优先于实例生成的。 而实例对象则是保存在jvm的堆内存中,想要访问内部类,必须先实例化外部类,然后通过外部类才能访问内部类。内部类其实也可以认为是外部类的一个成员变量,只要是成员变量, 各个对象都是不依赖的,静态属性的出现破坏了这一逻辑,所以java语言在语义层面不允许我们那么做,这其实不是技术问题,是一个语言的逻辑和语义问题。
获取指定时间 获取指定时间的时间戳
public
公开访问protect
子类(可以是别的包下) / 包 (主要是包内)缺省
包 不能访问所修饰的对象的属性 只有public可以private
当前类或者内部类作为Java的bean, 或者大多数情况下, 属性都是私有的, 然后提供setter getter 方法,而且 一般来说, setter和getter方法是不能包含逻辑的, 也就是简单的赋值 取值 乍一看相比于C语言, 似乎这是多此一举, 但是注意面向对象思想, 一个对象对外提供的应该只是行为, 具有较强的语义性, 什么对象执行了什么方法, 而直接引用就可能将对象属性和静态属性混淆
方法的签名:
(value object) 值对象
(persistant object) 持久对象
首先说PO和VO吧,它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(当然我是指他们的属性)。 正因为这样,PO独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉。又正因为这样,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理,至于怎么存怎么读交给别人吧! 不过,另外一点,如果我们没有使用数据持久层,或者说没有使用hibernate,那么PO和VO也可以是同一个东西,虽然这并不好。
(transfer Object) 数据传输对象
(business object) 业务对象
(plain ordinary java object) 简单无规则java对象
(data access object) 数据访问对象
Java关键字和保留字
abstract class extends implements null strictfp true
assert const false import package super try
boolean continue final instanceof private switch void
break default finally int protected synchronized volatile
byte do float interface public this while
case double for long return throw
catch else goto native short throws
char enum if new static transient