4javase

79 阅读2分钟
**abstract**

getInstance

**Static******

**Extends******

**特有方法******

*/** *****抽象类内部可以定义静态方法**\
**获取该抽象类的子类对象**\
***/***

Animal a = Animal.getInstance();\
a.eat();\
a.sleep();

*重写* *toString***

*equals && hashCode()*

*getClass*

*toString*

*getClass().getName():* *获取类的全名称*

*Integer.toHexString(hashCode()):* *把对象的哈希值转换成* *16* *进制的* *int* *数字***

**//创建Student类的对象****\
**Student stu = **new** Student( **"张三"** , 18);  \
System.***out***.println(stu.toString());

**//计算两天时间的毫秒值****\
****long** twoDaysMillis = 2L * 24 * 60 * 60 * 1000;

*date**\
**(1)* *时间原点* *: 1970* *年* *1* *月* *1* *日* *0* *时* *0* *分* *0* *秒   认为是* *0* *毫秒**\
**(3)* *北京时间与标准时间相差* *8* *小时**\
**\
**3.* *构造方法* *:**\
**Date():* *把当前时间毫秒值* *(* *运行程序的此时此刻* *)* *封装成* *Date* *对象* *new Date()**\
**getTime():* *返回调用方法的* *Date* *对象对应的毫秒值**\
**setTime(long time):* *把方法参数指定的毫秒值设置给调用方法的* *Date* *对象*

*Equals***

*equals :* *比较调用方法的对象和方法参数对象是否相等**\
**true:* *说明相等**\
**false:* *说明不相等**\
**默认比较对象的地址值* *,* *然而只要* *new* *对象的地址值就是不相同**\
****\
**(2)* *重写* *equals* *方法* *:* *目的* *:* *比较对象的内容* *,* *而不是地址值**\
****\
**==* *的使用* *(1)* *基本类型* *:* *比较具体的数据值是否相同**\
**(2)* *引用类型* *:* *比较的是内存地址值是否相同**\
**\
**\
****\
**String s1 = null;**\
**String s2 = "abc";**\
**//System.out.println(s1.equals(s2));//* *报空指针异常****\
**Objects* *工具类的静态方法* *equals**\
****作用* *:* *比较两个对象是否相同* *,* *避免空指针异常****\
**System.out.println(Objects.equals(s1,s2));//false:* *不会报空指针异常*

*Calendar* *类* *:  Calendar.getInstance()*

*DateFormat* *类* *:* *用来完成* *Date* *对象和* *String* *对象之间的相互转换的**\
**new SimpleDateFormat()**\
**String strDate = sdf.format(date);**\
**public Date parse(String source):* *把方法参数* *String* *对象转换成* *Date* *对象并返回***

Date date = sdf.parse(strDate); 

*\t:* *制表符**\
**\r\n: windows* *换行*

**//** **以字符串的方式输出** **"****\
**System.***out***.println( **"** **\"** **"** ); 

**//** **以字符的方式输出** **'****\
**System.***out***.println( **'** **\'** **'** );

**//** **输出获取年的字段的值****\
**System.***out***.println(Calendar.***YEAR***); **//1****\
**System.***out***.println(Calendar.***MONTH***); **//2****\
**System.***out***.println(Calendar.***DAY_OF_MONTH***); **//5**

cal.set(Calendar.***DAY_OF_MONTH***,5);  cal.add(Calendar.***DAY_OF_MONTH***,3);

*get set***

**//(1)** **创建键盘录入** **Scanner** **类的对象****\
**Scanner sc = **new** Scanner(System.***in***);\
**//(2)** **获取键盘录入的代表年份的** **int** **数字** **,** **保存到** **int** **变量** **year** **中** ******int** year = sc.nextInt();

*getIndex*

*int[] array:* *要查找元素的* *int* *数组**\
**int value:* *要在数组中查找的元素*

**//** **说明找到了** **,** **直接返回** **mid****\
****return** mid;

**代码执行到这里** **,** **说明没找到****\
****return** -1;

Sort

**break**

System.*exit*(0); **//** **结束** **jvm**

*exit* *0* *表示正常终止* *JVM,* *非* *0* *表示异常终止* *JVM***

*System* *类的静态方法毫秒* *currentTimeMillis()* *等价于* *: new Date().getTime()*

*System.arraycopy(* *源数组* *,int* *源数组中的起始位置* *,* *目标数组* *,* *目标数据中的起始位置* *,int length* *要复制的数组元素的数量* *)*