1.常用API接口(类):导入,创建,使用
Scanner类:主要接受来自键盘输入的内容,也可以是文件.用法:Scanner s1 = new Scanner(System.in);
Random类:主要创建随机数。用法:Random r= new Random();int num=(int) (Math.random()*10+1);
ArrayList:创建一个不定长度的“数组”。
String类:String是一个常量,一旦创建不可更改,只能重新创建新的String。
Arrays类:具有多个关于数组的静态方法,主要常用方法:Arrays.toString ,Array.sort();
Math类:包含与数字运算有关的类。abs,ceil,floor,round
2.面向对象语言的三大特性:继承,封装,多态
封装:体现在private关键字get,set存取和接口的不透明性
继承:关键字extends ,this,super重写,以及各个对象的访问顺序
多态:方法名相同,返回值或参数类型不同
对象的向上转型:
格式:父类对象 对象名=new 子类名称();
Animal animal= new Cat();
含义:右侧创建一个子类对象,把它当作父类看待使用
注意事项:向上转型一定是安全的。从小范围转向了大范围。从小范围的猫,向上转换成为更大范围的动物
对象的向下转型
格式:子类名称 对象名=(子类名称) 父类对象;
含义:将父类对象,【还原】成为本来的子类对象
Animal animal=new Cat()
Cat cat=(Cat)animal;
3.抽象类
关键字abstract。
抽象方法:不具体实现细节。例子:public void eat();
抽象类:抽象方法存在的类,必须是抽象类。
注意:
1.不能直接创建new抽象类对象
2.抽象类中不一定包含抽象方法,抽象方法一定在抽象类中
3.必须用一个子类继承抽象类,子类必须重新覆写抽象类的所有抽象方法,否则编译不通过,或者该子类也为抽象类
4.接口
关键字:interface,implements
特点:1.多继承 2.
成员:抽象方法(public abstract 方法)+常量(public static final 数据类型)
注意:变量均为常量,变量必须赋值,一旦赋值,不可修改
使用步骤:
1.接口无法直接使用,必须有实现类才能使用
2.接口的实现类必须覆写所有接口中的所有方法
3.创建实现类的对象
Java新特性1——接口中的默认方法:解决接口升级问题
格式:public default 返回值类型 方法名称(参数列表){}
1.接口中的默认方法使用实现类进行调用
2.接口中的默认方法可以被覆盖重写
Java新特性2——接口中允许定义静态方法
格式:public static 返回值类型 方法名称(参数列表){}
用法:只能通过接口.静态方法调用,不能通过(实现类.接口静态方法)进行调用
Java新特性3——接口中使用私有方法:只能在接口内使用
普通私有方法::解决接口中多个默认方法之间重复代码问题
格式:private 返回值类型 方法名 (参数列表){}
静态私有方法:解决接口中多个静态方法之间重复代码问题
格式:private static 返回值类型 方法名 (参数列表){}
5.内部类(匿名内部类)
内部类格式:
外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
匿名内部类格式:
接口名称 对象名 =new 接口名称(){};
注意事项:
1.匿名内部类,在创建对象的时候,就只唯一使用一次
2.匿名对象,在调用方法的时候,只能唯一使用一次
3.匿名内部类是省略实现类/子类名称,但是匿名对象是省略了对象名称
6.集合
集合框架包括:Collections,(List,ArrayList,LinkedList),(Set,HashSet,LinkHashSet),(Map,HashMap,LinkedHashMap)
集合祖父:Collection
常用方法:
1 public boolean add(E e):添加一个元素
2 public void clear():清空集合中所有的元素
3 public boolean remove(E e):移除集合中指定的元素
4 public boolean contains(E e):检查集合中是否包含指定的对象
5 public boolean isEmpty():判断集合是否为空
6 public void size():判断集合中元素的个数
7 public Object[] toArray():把集合元素存储到数组中
迭代器Iterator使用
迭代器iterator的使用,来自java.util.iterator,作用是为了各式各样的集合,开发了一个统一的取出集合元素的接口,其主要有两种常用使用方法
1 boolean hasNext():如果集合中还有下一个元素,就返回true,否则返回false
2 E next():取出集合中的下一个元素
使用迭代器需要使用Collection接口的iterator()方法,其返回的就是一个迭代器iterator实现类对象,有了实现类对象才能使用里面的方法
使用迭代器的基本步骤:
1 先使用Collection集合的iterator()方法获取iterator实现类对象,并使用一个iterator接口来接收,接口指向对象,为多态的应用
2 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
3 使用迭代器的next()方法取出集合中下一个元素
增强型for循环使用
增强型for循环的使用,Collection接口继承父接口Iterable,这个父接口的作用就是允许对象成为for-each循环的目标,增强型for循环的目的主要是遍历集合或数组元素。
使用格式:
for(集合或数组数据类型 变量名:集合或数组名){
方法体
}
Collections类常用方法:addall(),sort(),shuffle(),
List接口:有序,可重复
Set接口:无需,唯一
Map接口:key不可重复,value可重复
7.异常类:
Throwable:Error(不可处理,尽量避免),Exception
Exception:编译期异常
RuntimeException运行期异常中
异常处理关键字:try,catch,finally,throws,throw
配合:
1.修饰符 返回值 方法名() throws AAAExpections, BBBExpections{
throw new AAAExpections(“产生原因”);
}
2.try...catch ..finally
Try{}
Catch(定义一个异常变量,接受异常对象){}
Catch(异常类名 变量名){}
finally{}
自定义异常:
格式:public class xxxException extends Exception | RuntimelyException{
添加一个空参数的构造方法:
添加一个带异常信息的构造方法
}
8.线程类
并发:一个cpu来回切换进程
并行:多个cpu实例或者多台机器同时执行,真正的同时
线程状态:Running,dead,锁定,wait()
机制:synchronized ,wait,notify
实现:基本线程类Thread,线程接口Runnable
高级多线程控制类:
ThreadLocal类
Lock类
9.File类和IO
File类
字段:
String pathSeparator 路径分割符;
char pathSepartorChar
String seprtor 分隔符/
char seprtortoChar
构造方法
File(File parent,String child)
File(String pathname) File("C:\\a.txt")
File(String parent,String child) File("C:\\","a.txt");
File(URL url)
常用方法
获取方法
String getAbsolutePath()
String getPath()
String getName()
Long Length()
判断方法
exists()
isDirectory()
isFile()
创建删除方法
createNewFile()
delete()
mkdir()
mkdirs()
IO
字节流
超类(抽象类):OutputStream,InputStream
子类:FileOutputStream类,FileInputStream类
常用方法:read(),write(),close()
字符流
超类(抽象类):Reader类,Write类
子类:FileReader类,FileWrite类
常用方法:read(),write(),close()
最后(其他零散的知识点):
1.static所修饰的内容,只会加载一次,而构造方法可以加载多次
2.匿名对象,只是用一次的对象,当下次使用时则需要重新创建
3.
未完待续。。。