1、包的特点:
(1)可以有多层;
(2)不同包下的文件名可以重复;
(3)相同包下的类可以直接访问,不需要做其他操作;
(4)包的声明必须是第一行代码
2、不同包之间的互相访问:
(1)使用类的全名(包名.类名);
(2)使用关键字import将类导入
注意:*代表的是通配符,代表导入了这个包下所有的类,并没有导入子包下的类
3、权限修饰符:
(1)public:当前类,相同包下不同的类,不同包下的类;
(2)default:当前类,相同包下不同的类;
(3)private:当前类;
(4)protected:当前类,相同包下不同的类;
注意:default与protected的区别:
(1)default:当前包下使用;
(2)protected:让子类对象使用
4、修饰符:
类 成员变量 成员方法 构造方法
public Y Y Y Y
default Y Y Y Y
protected Y Y Y
private Y Y Y
abstract Y Y
static Y Y
final Y Y Y
常见规则:
(1)使用public来修饰类,一个Java文件中只能有一个类,如果一个文件中有多个类,类名和文件名一样的类名,必须使用public修饰,其他类不能用public修饰;
(2)所有的成员变量都使用private修饰;
(3)所有的方法使用public修饰;
(4)所有的构造方法使用public修饰;
(5)如果不想创建对象,则使用private修饰
5、内部类分类:
(1)成员内部类:可以使用abstract,final修饰
a、可以使用权限修饰符修饰成员内部类,如果使用私有来修饰,则无法在其他类中访问;
b、可以使用static修饰成员内部类,不用创建外部类的对象;
(2)局部内部类: 在方法内,出了方法之后就无法使用;
(3)匿名内部类:可以看成是一个没有名字的局部内部类,定义在方法中,且必须在定义匿名内部类时创建他的对象;
格式:
new 类/接口(){
如果是创建了继承这个类的子类对象,则可以重写父类的方法;
如果是创建了实现这个接口的子类对象,则必须要实现该接口的所有方法
};
原理:创建了继承这个类的子类对象或者是创建了实现这个接口的子类对象
应用场景:作为参数进行传递
6、Object:
(1)String toString():返回该对象的字符串表示
return getClass().getName()+"@"+Integer.toHexString(hashCode())
解释:
a、getClass():返回一个字节码对象;
b、Integer.toHexString():返回指定参数的十六进制字符串形式;
c、hashCode():返回该对象的哈希码值(内部地址)
(2)boolean equals(Object obj):比较两个对象是否相等,即比较地址值是否相等
(3)static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):复制数组
解释:
a、参数1:源数组;
b、参数2:源数组的起始索引位置;
c、参数3:目标数组;
d、参数4:目标数组的起始索引位置;
e、参数5:指定接受的元素个数
(4)static long currentTimeMillis():以毫秒值返回当前系统时间(相对时间)
(5)static void exit(int status):终止虚拟机
7、Date:表示特定的瞬间,精确到毫秒,可以通过方法来设定自己所表示的时间,可以表示任意的时间
(1) 构造方法:
a、Date():创建的是一个表示当前系统时间的Date对象;
b、Date(long date):根据“指定时间”创建Date对象
(2)常用方法:
a、毫秒值---Date
设置:返回值是void,参数long void setTime(long time) Date(long date)
b、Date---毫秒值
获取:返回long,无参数 long getTime()
(1)格式化:
Date---String
String format(Date date)
(2)解析:
String---Date
Date parse(String source)
(3)构造方法:
a、SimpleDateFormat():使用默认的模式进行对象的构建;
b、SimpleDateFormat(String pattern):使用指定的模式进行对象的构建
注意:解析的字符串,模式必须和构建对象的模式一样
9、Calendar:日历,提供了一些操作年月日时的方法
(1)void set(int field,int value):把指定的字段修改成指定的值;
(2)void add(int field,int amount):在指定的字段上加上指定的值;
(3)int get(int field):返回给定日历字段的值
10、包装类:封装了基本数据类型的类,提供了更多复杂的方法和一些变量
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
Integer:
String---int
方式1:int intValue()
方式2:static int parseInt(String s)
int---String
方式1:+""
方式2:String toString()
构造方法:
Integer (int value);
Integer (String s)
11、自动装箱与自动拆箱:
(1)自动装箱:Integer i=10; 相当于:Integer i=new Integer(10);
(2)自动拆箱:Integer i=10; int a=i; 相当于:int a=i.intValue();
12、正则表达式:一套规则,可以用于匹配字符串
boolean matches(String regex):判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false