2017-04-06-第三次考试
Xplorist Lv6

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);//

 评论