2017-04-06-第三次考试
考前复习(JavaSE主要知识内容):
变量的概念及使用(如何声明,如何定义,如何使用)
1、数据类型 变量名; —-声明
2、基本数据类型直接赋值,引用数据类型需要使用new分配空间
3、使用变量名直接调用
数据类型转型(向上转型、向下转型)
1、基本类型—-8个基本类型int、byte、long、short、float、double、char、boolean
2、引用类型—-3个(类、接口、数组)
引用数据类型的概念以及使用(如何声明,如何定义,如何使用)
1、数据类型 变量名; —-声明
2、引用数据类型需要使用new分配空间
3、使用变量名直接调用
运算符的使用(三目运算)
x?y:z;
判断x的逻辑结果,如果为true,整个表达式的值为y,反之为z
—–三目运算符最终会是一个值
混合运算结果数据转型(类型根据比int范围大还是小)
计算的过程为了数据格式统一:将范围小的数据自动转化为范围较大的数据 –例如:int–>double
如果要将范围大的数据转换为范围小的数据,需要程序员编码时强制转换—》double –》int 【double d = 1;int i = (int)d;】
类和对象的含义及区别
对象:实际存在的实体
类:表示某一类实体的模板,这一类实体的特征
如何实例化对象
使用new关键字 + 构造方法 来实例对象
new Double(1.0);
封装性(访问权限)(public, private, protected, default)
1、保护数据
2、限制权限
3、方便修改
构造方法的概念如何使用
1、与类名相同且没有返回值的方法
2、初始化对像
使用:创建对象时使用【仅能】
静态static(修饰类,修饰方法,修饰变量该如何??)
修饰变量:所有的对象访问的都是同一个地址【公共的变量】,可以使用类名.属性名直接调用方便访问
修饰方法:可以使用类名.方法名直接调用【一般用在工具类里面】
修饰类:当内部类里面需要存在静态成员
继承extends
1、子类通过继承父类得到父类的所有成员—为了扩展【多扩展,少修改】
2、java里面一个子类只能有一个直接父类
3、提高代码的复用性
this(何时表对象何时是调用本类方法)
定义:当前对象的引用
this.属性
this.方法
this
this():引用构造方法—-必须在第一行【???】
super (何时用super)
定义:在子类中对父类对象的引用
super.属性【子类中的属性与父类属性同名时】
super.方法
super():构造子类的时候必须先构造父类—-
this与super调用构造方法时的区别
所指对象不同
向上转型(多态)
声明类型为父类类型,实际类型为子类类型【例如:superclass a = new subclass();】
方法的参数。【使方法应用范围更广】
注意:没有办法访问子类的新增成员
向下转型(多态)
当特定情况下需要访问子类的新增成员,进行向下转型【强制转换】
【subclass s = (subclass)a;】
转型过程中,对象的实际类型不变,变更的只是声明类型
多态的使用及意义【方法】
1、要有继承
2、要有重写
3、父类引用指向其子类对象
方法的重载
定义:在一个类中可以定义方法名相同但是参数类型不同【参数的个数,及参数的类型】的多个方法,调用方法时,系统会根据传入的参数匹配对应的方法
作用:使方法的作用范围更广
方法的重写
1、子类对父类的方法进行重写,保持方法名,参数列表,返回类型不变,只改变方法体,重写方法不能比被重写方法有更严格的权限
作用:使方法更适用于子类
重载和重写的区别
重载发生在同一个类中,重写是子类对父类的方法进行重写
final的使用(修饰类,修饰方法,修饰变量)
修饰类:不能被继承
修饰方法:不能被重写,可以被使用
修饰变量:只能赋值一次
抽象abstract的特点(抽象类和抽象方法的使用)
1、抽象方法一定要在抽象类中,抽象类中不一定有抽象方法
2、抽象类必须被继承,抽象方法必须被重写
3、抽象类不能被直接实例化
4、抽象方法只需要声明不需要实现
5、static、final、private 修饰的方法以及构造方法不能被声明为抽象方法
接口interface的特点(接口类的使用)
1、属性:public static final
2、方法:public abstract
3、接口可以被继承,但是只能继承接口
4、可以同时继承多个接口
5、多个无关的类可以实现同一个接口
6、同一个类可以实现多个无关的接口
7、接口与实现类之间同样具有多态性【vip饭店】
8、子类继承父类,继承父类的所有成员包括父类实现的接口
9、implements
成员内部类(外部类与内部类之间方法和属性的调用)
【定义一个在内部使用的类,不具备广泛的使用特性,作为内部功能块的集合】
在成员内部类中可以使用外部类属性
外部类不可以使用内部类的成员
如何实例化一个成员内部类对象:—-外部类类型.内部类类型 变量名 = new 外部类构造方法().new 内部类构造方法();
局部内部类
定义在方法中、语句块中的类
实例化:只能在当前方法中直接实例化
匿名内部类(概念及何时使用, 如何使用)
直接实例化 new 父类、接口名(){重写方法}
如何实例化内部类
File对象(概念及使用)
文件所指代的抽象路径
IO流(InputStream) — FileInputStream:字节流,节点流,输入流
IO流(OutputStream)—
IO流(Reader)
IO流(Writer)
IO流(缓冲流)
容器(list)
LinkedList:底层采用链表结构,增删快
ArrayList:底层采用数组结构,查询快
存储对象,没有上限?
容器(map)
采用键-值对形式存储
key不能重复
value可以重复
容器(iterator)
hasnext();判断游标右边是否有元素
next();返回游标右边的元素,并且游标右移一位
remove();删除游标左边一个元素,每一次移动只能删除一次
进程和线程的区别(程序,进程,线程,多线程)
多线程(Thread类)
多线程(Runnable接口)
多线程(Synchronized):当需要限定仅一个线程访问的时候使用
优点:保证数据的真实性
缺点:每次访问的时候都需要判定,效率低
多线程(start方法)
多线程(join方法)
在当前线程中插入某一条线程,当前线程等待插入的线程执行完毕才继续执行
多线程(yield方法)
让出CPU,进入就绪状态,等待调度
多线程(sleep方法)
Thread.sleep(time);//
- 本文标题:2017-04-06-第三次考试
- 本文作者:Xplorist
- 创建时间:2017-04-06 14:23:01
- 本文链接:https://xplorist.tech/2017/04/06/ed4459b26318/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!