JAVA 基础
JAVA 基础
ruoxijunJAVA 基础进阶巩固
类(class):
- 类:是描述相同事物的共同特征的抽象。
 - 对象:是基于类具体创造的实例。
 - 类名建议使用驼峰写法,一个 java 代码文件中可以定义多个类。但只有 java 文件名的同名类才能被 public 修饰。
 - 类中有且只有五大成分:成员变量,成员方法,构造器,代码块,内部类。
 类名 变量=new 构造器类有一个默认的构造器,当定义了其它构造器时此默认构造器将不存在。
面向对象:
- 面像对象的三大特征:封装,继承,多态。
 - 封装的作用:提高代码安全性,实现代码组件化。
 - 子类实际上继承了父类的私有成员,只是不能直接访问。
 - 子类实际上并未继承父类的静态成员,只是与父类共享。
 - 方法重写:
- 子类重写父类方法时,必须保证名称,参数列表与父类重写方法一致。
 - 子类重写方法的返回值类型范围只能等于或小于父类声明的返回值。
 - 子类重写方法的修饰符只能等于或大于父类声明的修饰符。
 - 子类重写方法抛出的异常只能等于或小于父类抛出的异常。
 - 重写方法应加上 
@Override注解。 
 this与super:this(参数列表)调用本类构造器。super(参数列表)调用父类的构造器,一般子类构造器中默认带有super()。this与super必须放在构造器的第一行,且它们不能同时出现在一个构造器中。
- 抽象类与接口:
- 抽象类用 
abstract修饰,且不能被实例化。抽象类中不一定得有抽象成员。 - 有抽象方法就一定是抽象类,子类必须重写父类方法否则将此类定义为抽象类。
 - 抽象类是一种思想,接口是一种规范。一个类可实现多个接口。
 - 父类方法与接口默认(default)方法同名时,将执行父类的方法。
 - 当实现多接口时,多个接口中默认方法同名时我们必须重写这个方法。
 
 - 抽象类用 
 final关键字:- 修饰的类为最终类,不能被继承。修饰的方法为最终方法,不能不重写。
 - 修饰的变量为常量,有且仅能被 赋值一次,类中定义的成员常量可利用构造器赋初值。
 abstract与final为互斥关系不能同时修饰一个成员。
- 多态变量与方法的访问:
- 方法:编译看左边,运行看右边。
 - 变量:编译看左边,运行看左边。
 - java 强制类型转换之前建议判断变量的类型: 
变量 instanceof 类型 
 - 内部类:
- 静态内部类(
static class):与外部类一同加载,可直接访问外部静态成员,其它成员需要外部对象访问。 - 实例内部类:不能定义静态成员(常量除外),可以访问外部类所有资源。
 
 - 静态内部类(
 - 枚举类:
 
常用类(API):
Date:
大部分方法方法也废弃,由 Calendar 类代替。
- 可用构造器:
Date()与Date(long date) 
部分可用方法介绍:
getTime: 返回此时间对象自 1970 年 1 月 1 日以来的毫秒数- 官方不推荐用 
new Date().getTime()来获取此时的时间毫秒数,推荐使用System.currentTimeMillis() 
- 官方不推荐用 
 clone:返回此对象的克隆体对象before(Date):某 Date 是否本 Date 时间之前after(Date):某 Date 是否本 Date 时间之后compareTo(Date)与equals(Object):前者比较时间长远返回int(0||1||-1),后者比较时间是否相同。
DateFormat:
:
基础:
- 转义字符(字母大写表示取反):
\d:表示任意一个数字
\w:表示字母数字或下划线中任意一个
\s:表示空格,制表符,换行符,等空白字符中的任意一个 - 量词:
.:表示一个任意字符(除换行符外),如需包含建议使用[\s\S]{n}:表达式重复n次{n,m}:表达式重复n至m次{m,}:表达式至少重复m次?:表达式重复0-1次,相当于{0,1}+:表达式至少重复1次,相当于{1,}*:表达式重复任意次,相当与{0,} 

