1.经常使用API接口(类):导入,建立,使用java
Scanner类:主要接受来自键盘输入的内容,也能够是文件.用法:Scanner s1 = new Scanner(System.in);数组
Random类:主要建立随机数。用法:Random r= new Random();int num=(int) (Math.random()*10+1);安全
ArrayList<E>:建立一个不定长度的“数组”。多线程
String类:String是一个常量,一旦建立不可更改,只能从新建立新的String。并发
Arrays类:具备多个关于数组的静态方法,主要经常使用方法:Arrays.toString ,Array.sort();框架
Math类:包含与数字运算有关的类。abs,ceil,floor,rounddom
2.面向对象语言的三大特性:继承,封装,多态this
封装:体如今private关键字get,set存取和接口的不透明性spa
继承:关键字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循环的使用,Collection接口继承父接口Iterable,这个父接口的做用就是容许对象成为for-each循环的目标,加强型for循环的目的主要是遍历集合或数组元素。
使用格式:
for(集合或数组数据类型 变量名:集合或数组名){
方法体
}
Collections类经常使用方法:addall(),sort(),shuffle(),
List接口:有序,可重复
Set接口:无需,惟一
Map接口<K,V >: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类
最后(其余零散的知识点):
1.static所修饰的内容,只会加载一次,而构造方法能够加载屡次
2.匿名对象,只是用一次的对象,当下次使用时则须要从新建立
3.
未完待续。。。