STK0210
第一章:揭开Java神秘面纱
本章要点:
            1.掌握下载、安装JDK
            2.掌握开发环境变量的配置
            3.学会编写第一个java程序
1.掌握下载,安装JDK
            1.1:进入http:www.oracle.com
            1.2:通过百度
            1.3:安装JDK
2.掌握开发环境变量的配置
            2.1:常用的DOS命令
                        2.1.1:cd命令,进去当前盘符下的路径 cd\(进入当前盘符的根目录) cd 路径
                        2.1.2:切换盘符,例如D:
            2.2:新建环境变量“JAVA_HOME”,存的值是JDK的安装目录“JAVA\jdk”,找到“path”,将路径继续添加,用;隔开
            2.3:classpath的配置,新建环境变量“classpath”,存的值是“.;%JAVA_HOME%\lib”
            2.4:学会编写第一个Java程序
      • public:公共的
      • class:用来声明一个类
      • Hello:类名(必须和文件的名字一致)                        
      • static:静态的
      • void:无返回值
      • main:主函数的名字
      • String[]:字符串数组
      • args:变量的名字
      • System:系统类
      • Out:系统类的一个变量
      • println(“”):打印的方法
      • 程序区分大小写
    • 第一行:创建一个类,类名是Hello
    • 第二行:创建主函数,程序从这里开始
    • 第三行:输出语句
  • 运行程序的步骤:
    • 打开DOS命令窗口
    • 进入需要运行的java文件的路径
    • 通过javac命令编译java文件,例如 javac Hello.java  ,会生成一个Hello.class文件
    • 通过java命令运行class文件,例如 java Hello
  • 注释:1、单行注释://代码
    • 2、多行注释:/*代码*/
    • 3、文档注释:/**代码*/
 
第二章:最流行的Java开发工具--Eclipse
本章要点:
  • Eclipse概论
  • 掌握Eclipse的安装、设置与启动方法
  • 熟悉Eclipse的开发环境
  • 使用Eclipse创建Java程序
  • 在Eclipse中调试Java程序
1.认识Eclipse开发工具
            1.1、Eclipse的概述
                        它是IBM花巨资开发的IDE集成环境(Integrated Development Environment),是给程序员提供了一个一个优秀的Java开发环境
            1.2、Eclipse的安装、设置与启动
                        下载Eclipse的网址:
                        汉化的两种方式:
                                        1.在线安装:
                                        2.离线安装:
                        建议读者使用英文版。右键快捷方式,在目标后拼接 -nl "EN"可以切换到英文(exe后面)
                                                        右键快捷方式,在目标后拼接 -nl "ZH"可以切换到中文
            1.3、Eclipse工作台
2、使用Eclipse开始工作
            2.1、步骤:
                    1、创建项目
                    2、创建包
                    3、创建类
                    4、运行
                可以使用快捷方式进行提供开发效率
                代码提示:alt+/
3、在Eclipse中调试程序
            3.1、步骤
                    1、设置断点
                    2、打开调试界面 快捷键F11
                    3、观察变量的变化
                    4、通过F5,F6控制程序的走向
                    5、关闭调试界面,去掉断点
4、高手点拨
            4.1、解决英文windows7下Eclipse的中文界面切换
            汉化之后,右键快捷方式,在目标后拼接  -nl “ZH”可以切换到中文
 
第三章:初识庐山真面目———Java程序要素概览
本章要点:
  1. 掌握Java程序的组成
  2. 掌握Java程序注释的使用
  3. 掌握Java中的标识符和关键字
  4. 了解Java中的变量及其设置
  5. 了解程序的检测
  6. 掌握提高程序可读性的方法
 
1.一个简单的例子
           简单了解Java程序的框架
2.感性认识Java程序
            2.1认识Java程序的框架
                        2.1.1、大括号、段、及主体
                                      一个类中,main只有一个,是作为所有程序的入口开端
            2.2认识标识符
                        规则:只能是由字母、数字、下划线和$组成,并且不能以数字开头,还要避免关键字。
                        规范:标识符,有很高的阅读性
            2.3关键字
                        在Java中有特殊意义的单词:比如public class void static String System...
            2.4认识注释
                        三种:
                                    单行注释://代码
                                    多行注释:/*代码*/
                                    文档注释:/**代码*/
            2.5认识变量
                        2.5.1、变量的声明:
                                                数据类型 变量名;
                                                数据类型 变量名 = 数值或表达式(将变量的声明和赋值合为一体)
                                  变量的赋值:
                                                变量名 = 数值或表达式
            2.6数据类型
                        分为两类:
                                      1、基本数据类型:
  • 整型:
    • 字节                        (byte)
    • 短整型                    (short)
    • 整型                         (int)
    • 长整型                     (long)
  • 浮点
    • 单精度                    (float)
    • 双精度                  (double)
  • 字符
    • 用来存储一个字符    (char)
  • 布尔
    • 用来存储真假对错,里面有2个值,true、false                       (boolean)
                                      2、引用数据类型:
                                                        字符串                        (string)
                                                        类                               (class)
                       数据类型转换
  1. 自动转换:等号左侧必须兼容等号右侧(左大于右)(小范围可以自动复制给大范围)
  • byte b = 10;int num=b;
  • double d = 10;
  • 强制转换:当等号左侧类型低于右侧时候,对右进行强制转换,转换之后,左侧必须兼容等号右侧
    • double d = 10.1;
    • int a =(int)d;
                    2.7认识运算符和表达式
                                 算数运算:
    • 加:+
    • 减:-
    • 乘:*
    • 除:/
    • 取余:%
                    2.8认识类
                                  Java程序是由类所组成的
                    2.9输入以及输出
    • 输入和输出是以内存为参照物的
    • 根据方向分为输入流和输出流
    • 输入流:System.in(标准输入),通常代表键盘输入
    • 输出流:System.out(标准输出),通常输出到终端显示器
    • 错误流:System,err(标准错误输出),通常将错误信息输出到终端显示器
    3、程序的检测
                    3.1语法错误
                    3.2语义错误
    4、提高程序的可读性
                    通过必要的注释以及缩进
    5、高手点拨
                    注意字符半角和全角之分,中文之分
                    使用ctrl+shift 或 ctrl+space切换到中文
                    使用shift+space切换圆角和半角
     
    第四章:最常用的编程元素——常量与变量
    本章要点:
                    1.掌握变量和常量的声明方法
                    2.掌握变量的命名规则
                    3.掌握变量的作用范围
                    4.掌握常量和变量的应用技巧
     
    1.常量
                    1.1、声明常量
    • 解释:所谓常量,就是固定不变的量,一旦被定义并赋值后,它的值就不能再被改变。
    • 语法:final  数据类型  常量名称 =  值;(静态加static,写在main方法外的代码,想被main方法调用)
    • 规范:常量名称通常使用大写字母,例如Pi,YEAR等。
    • 规则:常量名称复合标识符的要求,只能使用字母、数字、_、$这4种组成,不能以数字开头,不能使用关键字。
    2.变量
                    2.1、声明变量
    • 解释:变量是利用声明的方式,在内存中的某块内存区域保留下来供程序的使用,其内的值是可变的。
    • 语法:
    1. 变量的定义:数据类型  变量名;         例如 int  num;
    2. 变量的赋值:变量名 = 值;           例如 num=10;
    3. 变量的使用                                   例如 syso(num);(快捷键设置)
         注意:1和2可以合起来写                    例如 int num = 10;     
     
                变量的使用(基本数据类型),其实就是取出变量对应的内存块里的值进行使用
                规则:名称符合标识符的要求,只能使用字母、数字、_、$这四种组成,不能以数字开头,不能使用关键字。
                    2.2变量的作用范围
                按作用范围进行划分:变量可以分为成员变量和局部变量
                1、成员变量
                            在类体重定义的变量为成员变量。他的作用范围为整个类,也就是说,这个类中都可以访问到定义的这个成员变量
                2、局部变量
                            在一个函数(方法)或代码块中定义的变量称为局部变量
                            特点:局部变量在方法或代码块被执行的时候创建,在方法或代码块结束时被销毁 
                成员变量可以和局部变量重名,使用时调用满足就近原则,即代码块间 
     
    3、高手点拨
                1、Java中作用范围是禁止嵌套的,而在c/c++中则是允许的
                
     
    第五章:不可不知的数据分类法--数据类型
     
    本章要点:
    1. 掌握整数类型的分类
    2. 掌握浮点数据类型的分类
    3. 掌握字符类型数据
    4. 掌握布尔类型数据
    5. 熟悉基本数据类型默认值的意义与使用方法
     
    1. 数据类型的意义
                        主要分为:基本数据类型和引用数据类型
    1. 整数类型
    • 整数类型和对应的包装类
    • byte   Byte
    • short  Short
    • int      Integer
    • long   Long
    1. 浮点型
    • 小数默认是double类型
    • 浮点型和对应的包装类
    • float       Float
    • double   Double
    1. 字符型
                    ASCII:美国标准信息交换码,将英文中所有字母和一个符号对应一个数字
                    GBK:是将中文所有汉字和符号对应一个数字,也兼容ASCII
                    Unicode:将所有国家的编码表融合到一个表中
    1. 布尔类型
                     只有两个值:true 和 false
    1. 数据类型转换
      1. 自动类型转换
    • 小范围赋值给大范围
      1. 强制类型转换
    • 大范围赋值给小范围
  • 基本数据类型的默认值
    • 当成员变量会有默认值
    • 局部变量没有
     
    • byte       (byte)0
    • short      (short)0
    • int          0
    • long       0L
    • float       0.0f
    • double   0.0d
    • char       \' \'或\u0000
    • boolean false
    1. 高手点拨
    • 除法“/”
    • 两种情况
      • 整型/整型         结果是取整数
      • 除数和被除数至少有一个都浮点型,那结果就是浮点型,简单理解为:普通的除法
    • C/C++语言和Java语言布尔的区别
    • 在前者中只要不是零的数,都可以认为“true”,而仅把零作为“false”
    • 在后这种布尔类型只是“true”和false,跟数字无关
     
    第六章:最重要的编程部件--运算符、表达式与语句
    本章要点:
    1. 掌握各种运算符的用法
    2. 掌握各种表达式的用法
    3. 掌握表达式与云算法的关系
    4. 掌握表达式中数据类型的转换技巧
    1.运算符
            1.1、赋值运算符
                        用“=”表示,将等号右边的值赋值给左边的变量
            1.2、一元运算符
                        +       正号                +x
                        -        负号                -x
                        !      NOT,非         !true
                        ~      取补码              ~x
                        ++    变量值自增1     x++
                        --      变量值自减1     x--
            1.3、算术运算符
                        +            加
                        -             减
                        *             乘       
                        /             除
                        %            取余
                            
                 +有两种使用方式:如果+前后是数字,则为加法,结果是数字和;                            如果+前后至少一个为字符串,则为拼接符号,结果是拼接后的字符串
                 /有两种使用方式: 如果/前后都是整型,则将得到的结果取整;                                   如果/前后至少一个浮点型,则得到的结果也是浮点型,就是普通的除法
            1.4、逻辑运算符
                        逻辑运算符只对布尔类型操作数进行运算并返回一个布尔类型数据
                        &&,&       与       两个操作数同时为真,结果才为真,否则,结果为假
                        ||,|             或       两个操作数同时为假,结果才为假,否则,结果为真
                        !               非       结果是与操作数相反的布尔值
    2.表达式
                    表达式是由常量、变量或是其他操作数与运算符所组合而成的语句
            2.1、算术运算符
                    算术表达式用于数值的计算。它是由算术运算符和变量或常量组成,其结果是一个数值
            2.2、关系表达式
                    关系表达式常用于程序判断语句中,由关系运算符组成,其运算结果为boolean类型
            2.3、逻辑表达式    
                   用逻辑运算符将关系表达式或 
            2.4、赋值表达式
                    赋值表达式由赋值运算符和操作数组成,赋值运算符用于给变量赋值
                    将右侧的值赋值给左侧变量
            2.5、表达式的类型转换
                        大原则:
    1. 占用字节较少的数据类型转换成字节数较多的数据类型
    2. 字符类型会转换成int类型
    3. int类型会转换成float类型
    4. 表达式中若某一个操作数的类型为double,则另一个操作数也会转换成double类型
    5. 布尔类型不能转换成其他类型
    3、语句
                    语句室友表达式组成
                    3.1、语句中的空格
                            在必要的地方加上空格,提高阅读性和规范性
                    3.2、空语句
                            空语句是由一个分号组成的语句,不建议使用
                    3.3、声明语句
                            语法格式一般为:<声明数据类型><变量1>。。。<变量n>;
                    3.4、赋值语句
                            通过赋值符号表示,将右侧的值赋值给左侧的变量
    4、高手点拨
                    4.1、&和&&、||和|的关系是怎么样?
                                a&b    a&&b
                                a|b      a||b
                                普通的&和|连接的判断条件都会执行,最后得出结果
                                &&和||连接的判断条件,如果根据前面的判断条件已经能得出最后的结果,那后面的判断条件就不会再执行
                    4.2、递增以及递减运算符
                                ++在前,先加1,再执行其他操作
                                ++在后,先执行其他操作,再加1
                                --同理
                    4.3、位运算的技巧
                                任何数与0000 0001(二进制)进行或(|)运算后,第一位将变成1,与1111 1110(二进制)进行与(&)运算后,第一位将变成0.
     
     
    第七章:程序执行方向——程序控制结构
                    
    本章要点:
            1、掌握程序结构的设计方法
            2、掌握选择结构的类型与方法
            3、掌握循环结构的类型与方法
            4、掌握循环的跳离语句的运用方法
    1、程序逻辑
                程序的结构包含以下三种
      1. 顺序结构
      2. 选择结构
      3. 循环结构
    1. 顺序结构
                    按照书写的顺序执行
    1. 分支结构
                    根据给定的条件进行判断,决定执行某个分支程序段
    1. 循环结构
                    在给定条件成立时,反复执行某个循环
    2、选择结构
                条件分支
                        if语句
                        if else语句
                开关分支
                        switch语句
                2.1、if语句
                            if(判断条件){
                                    语句
                            }
               2.2、if。。。else语句
                            if(判断条件){
                                    语句
                            }else{
                                    语句
                            }    
              2.3、if。。。else if。。。else
                            if(条件判断1){
                                    语句块1
                            }else if(条件判断2){
                                    语句块2
                            }
                            。。。多个else if()语句
                            else{
                                    语句块n
                            }
              2.4、多重选择-switch语句
                            switch(表达式){
                                    case 值1:
                                                语句块1;
                                                break;
                                    case 值2:
                                                语句块2;
                                                break;
                                    case 值n:
                                                语句块n;
                                                break;
                                    default:
                                                默认语句块;
                                                break;
                            }
                            switch的表达式类型为整型(long除外),字符型,枚举类型,在JDK1.7之后也支持string
    3、循环结构
                3.1、while循环
                            while(判断条件){
                                      代码块
                            }
                            特点:先判断再执行

     
     
     
     
     
     
     
     
     
     
     
     
     

    第9章:面向对象设计--类和对象
     
    本章要点:
                1、了解类和对象的相关概念
                2、掌握声明以及创建类和对象的方法
                3、掌握对象的比较方法
     
    1、理解面向对象程序设计
                OOP
                1.1、结构化程序设计
                            早起程序设计,大量使用全局变量和GOTO语句
                            结构化程序设计:顺序、选择、循环这三种节本控制结构来构造(强调程序阅读性,面向过程)
                            编程基本通过写不同的目的的函数/过程实现,故称为面向过程:核心问题是数据结构和算法的开发和优化        
                1.2、面向对象程序设计简介
                            属性表示对象的数据,一般为名词
                            行为表示对象的功能,一般为动词
                            类是实物的表述,对象是事物的具体
                            面向对象编程达到了软件工程的三个主要目标:重用性、灵活性、扩展性
                1.3、面向对象程序设计的基本特征
                            3个主要特征:封装性、继承性、多态性
                            封装性:隐藏内部细节,目的是将对象的设计者和对象的使用者分开,使用者不必知晓其行为实现细节,只需用设计者同的消息来访问该对象
                            继承性:继承性是子类共享父类数据和方法的机制。目的支持系统的可重用性,提高系统的可扩展性。
                            多态性:对象根据所接收到的消息而做出的动作。同一个消息被不同的对象接受时可以产生完全不同的行为,这种想象称为多态。
                1.4、面向对象编程和面向过程变成的比较
                            面向过程:程序=算法+数据结构
                            面向对象:程序=对象+消息传递
                            面向对象是由面向过程发展而来。二者都有重要性。二者都在某些领域具有重要性
                            面向对象虽然有缺点,但是利大于弊。
    2.面向对象的基本概念
                2.1、将具有相同属性(成员变量)和相同行为(成员方法)的一组对象称为类
                2.2、对象是类的实例化后的产物。“万物皆对象”
                2.3、类是某一类实物的描述,而对象是实际存在的该类实物的个体。
    3.类的声明与定义
                3.1、类的声明
                            [访问修饰符] class 类名称{
                                        //类的成员变量
                                        //类的成员方法
                            }            
                            访问修饰符:
                                        public:共有的。本类,本包内的类,包外类也可以访问
                                        private:私有的。本类可以访问
                                        protected:介于public和private之间。和集成有关。本类,子类可以访问
                                        默认模式:本类,本包内可以访问
                                        final:最终的,无法改变的。不能继承修改。
                            类名称:只能是字母,数字,_ ,$组成,不能以数字开头,不能使用关键字,一般用大写开头。
               3.1、类的定义
                            类的成员变量的定义:
                                        访问修饰符  数据类型  属性[=值];
                            类的成员方法的定义:
                                        访问修饰符  返回值的数据类型  方法名称(参数1,参数2。。。){
                                            程序语句
                                        }             
    4.类的属性
                语法:[访问修饰符]  属性类型  属性名  [=默认值];
                修饰符:public,private,protected,static,final其中之一。static和final可以组合起来修饰属性(static属性为静态代码块,可以用来初始化成员变量,是该类最先运行的语句块,称为类方法,比构造方法还早)
                属性类型:任何类型(基本数据类型,引用数据类型)
                属性名:只能是字母,数字,_ ,$组成,不能以数字开头,不能使用关键字。一般首字母小写,后面的单词首字母大写。
    5.对象的声明与使用
            5.1对象的声明:
                语法:类名 对象名 = new 类名([形参]);
            5.2对象的使用:
                语法:
                            调用属性的语法:对象名.属性名
                            调用方法的语句:对象名.方法名([形参])
            5.3匿名对象
                匿名对象是指没有名字的对象。适用场合:创建对象只使用了一次
            5.4对象的比较
                两种方式:
                            1、使用“==”:比较的是两个对象的内存地址
                            2、使用equals()方法:比较的是两个对象的内容。比较两个字符串内容是否一样,使用此方法
            5.5对象数组的使用
    6.高手点拨
            1.栈内存和堆内存的区别
                    栈内存:
                                栈是由编译器自动分配和释放的
                                存放基本数据类型的变量,指令代码,常量和对象的引用地址
                                优点:存取速度快,数据可以共享
                                缺点:存在栈中的数据大小与生存期必须是确定的,缺乏灵活性
                    堆内存:
                                堆是一个程序运行动态分配的内存区域
                                存放构建对象时所需要的内存
                                堆内存在使用完毕后,是由垃圾回收机制进行(隐式)回收
                                优点:动态的分配内存大小
                                缺点:存取速度慢
            2.面向过程变成与面向对象编程的感性认识
     
    第10章:重复调用的代码块--方法
    本章要点:
                    1、掌握方法的定义
                    2、掌握方法的使用
    1、方法的基本定义
                    修饰符  返回值类型  方法名(参数列表){
                                                方法体
                                                [return  返回值]
                                }
    2、方法的使用
                    1、创建对象
                    2、对象名、方法([参数])
                    this代表当前对象,区分形参
    3、方法中的形参与实参
                    形参隶属于方法体,是方法的局部变量
                    在调用方法时,实参和形参在数量上、类型上、顺序上必须保持一致
    4、方法的重载
                    三要素:
                                必须在同一个类中
                                必须方法名相同
                                必须参数列表不同(个数不同,类型不同,个数不同类型也不相同)    
                    注意:重载的定义与返回值无关
    5、构造方法
                    构造方法就是在每一个类中定义的,并且是在使用new关键字实例化一个新对象的时候默认调用的方法。
                    构造方法的功能是对新创建的对象的成员变量赋值
                    语法结构:
                                访问修饰符  类名([参数列表]){
                                                功能代码
                                }
                    注意:
                                1、构造方法的名次必须和所属类的类名一致
                                2、构造方法没有返回值,也不可以使用void
                                3、构造方法也可以被重载
                                4、构造方法不能被static和final修饰
                                5、构造方法不能被继承,子类使用父类的构造方法需要使用super关键字。
                    规定:如果某一个类中,没有显示的定义一个构造方法,那系统会默认给其一个无参并且方法体是空的构造方法
    6、在方法内部调用方法
                    1、如果调用的是本类的方法,直接使用方法名([实参])
                    2、如果调用的是其他类的方法,还是需要创建
                    3、如果调用的方法是静态的,可以通过类名,方法名([实参])或者接口名.方法名([实参])
    (快速封装,shift+alt+s,getters and setters)
    7、方法的递归调用
                    是指方法直接或间接调用自身的一种操作
                    注意递归的出口
    8、代码块
                    格式:
                                    {
                                                //语句
                                    }
                    1、普通代码块
                                    在方法名后或方法体内用一对“{}”括起来的数据库就是普通代码块
                    2、构造代码块
                                    不在方法体内,仅位于类的范围内,执行多次。作用在于初始化成员变量
                    3、静态代码块
                                    执行一次,作用在于初始化成员变量
                    4、同步代码块
                                    线程时有详细讲解
     9、方法和数组
                    引用传递:传递的是地址,指向的是同一块内存空间,任何一方修改了内容,那另一方指向的内容也是修改后的
                    值传递:传递的是数值,传递后,两方没有任何关系了。
    10、与数组有关的操作方法
                    1、数组的克隆
                                    克隆对象返回的是一个新的对象,而不是已有对象的引用
                                    克隆对象与new操作符是有区别的,克隆对象是拷贝某个对象的当前信息,而不是对象的初始化信息
    ‘            2、数组的排列
    11、高手点拨
                    1、Eclipse中自动生成Getet和Seter。快捷键slt+shift+s->generate getter and setter
                    2、Eclipse中自动生成构造方法。快捷键slt+shift+s->generate constructor using fileds
     
    1、枚举简介
     
    2、自定义枚举
     
    3、Java中的枚举
                    3.1、语法:enum  枚举名{枚举值1,枚举值2,枚举值3,枚举值4...};
                    3.2、在switch语句中使用美剧
    4、枚举类和枚举关键字
                    4.1、values方法:返回枚举值组成的数组
                    4.2、枚举类:Enum
                    4.3、枚举类(Enum)与枚举关键字(eunm)的联系
                                    valueOf(Class<T>enumType,String name): 返回带指定名称的指定枚举类型的枚举常量
    5、类集对枚举的支持
                    5.1、EnumMap
                    5.2、EnumSet
    6、深入了解枚举
                    6.1、枚举的构造方法
                    6.2、枚举的接口
                    6.3、在枚举中定义抽象方法
    7、高手点拨
                    7.1、使用枚举时注意事项
                                    1、枚举的构造方法的访问权限修饰符不能是public,protected,只能是private,默认
                                    2、最后枚举值要加;
                    7.2、枚举类不可以被继承
     
    第12章:类的封装、继承和多态
                    1、掌握封装的基本概念和应用
                    2、掌握继承的基本概念和应用
                    3、掌握多态的基本概念和应用
                    4、熟悉super关键字的使用
                    5、熟悉对象的多态性
    1、面向对象的三大特点
                    1.1、封装
                                        隐藏内部的实现细节,对外提供一些公共的访问方式
                                        目的是增强安全性和简化编程
                    1.2、继承
                                        将子类共有的成员放到父类中,子类继承父类,子类只定义自己特有的成员
                                        目的是提高程序的复用性,易于扩展项目
                    1.3、多态
                                        分为两类:
                                                        1、方法的多态性,体现 在方法的重载与覆写
                                                        2、对象多态性,体现在父、子对象之间的转型上
     
    2、封装的实现
                    2.1、访问修饰符
                                        公共的public:                 可以被所有类访问
                                        私有的private:               只有在当前类中可以访问,外部类不可以访问
                                        受保护的protected:       当前包内的类可以访问,子类也可以访问
                                        默认default:                  当前包内可以访问
                    封装的步骤:
                                        1、将成员私有化
                                        2、对外提供公共的访问方式
    3、继承的实现
                    语法格式:    
                                        class  子类名  extends  父类
                    限制:
                                        1、java中不允许多重继承,但可以使用多层继承
                                        2、父类私有成员,不能被子类继承使用
                                        3、子类在进行实例化时,首先调用父类的构造方法,然后调用子类的构造方法
                                        4、被final修饰的类不能再被继承
    4、深入认识类的继承
                    1、子类对象实例化的过程
                    2、super关键字的使用
                                    1、调用父类的构造方法
                                    2、调用父类的成员
                    3、使用private限制子类的访问
    5、覆写
                    5.1、方法的覆写:子类定义了与父类相同的方法,使用子类对象调用此方法时,会调用子类的方法。子类重写的父类方法的访问权限修饰符不能严于父类,并且被覆写的方法不能为static
                    5.2、属性的覆写
    6、多态的实现
                    1、多态的基本概念
                    2、方法多态性
                                    利用方法重载实现
                    3、对象的多态性
                    4、隐藏static
    7、高手点拨
                    1、方法的重载与覆写有什么区别
     
      重载 覆写
    英文单词 overload override
    定义
    方法名相同
    参数列表不同
     
    在同一个类中
    方法名相同
    参数列表相同
    返回值类型相同
    在两个(直接或间接)父子类中
    权限 不受权限控制 子类覆写父类方法的权限不能严于父类
                    2、this和super的区别
                                    this:先从本类找成员,本类找不到再到父类中找;this([实参])调用的是本类的构造方法;表示当前对象
                                    super:不查询本类的成员,直接在子类中调用父类的成员;super([实参])调用的是父类的构造方法;表示当前类的父类对象
                    3、final的使用  
                                    1、final修饰的类不能被继承
                                    2、final定义的方法不能被子类覆写
                                    3、使用final修饰的变量是常量(一旦被赋值,不能更改值),一般名字全部大写
     
    第13章:抽象类与接口
    知识要点:
                1、熟悉抽象类的使用
                2、掌握抽象类的基本概念
                3、掌握抽象类实例的作用
                4、掌握接口的基本概念
                5、熟悉Java8中接口的新特征
                6、熟悉接口实例的应用
    1、抽象类
                规则:
                            1、抽象类和抽象方法必须用abstract关键字来修饰
                            2、抽象类不能直接实例化
                            3、抽象方法只需要声明,不需要实现
                            4、含有抽象方法的类必须是抽象类,抽象类的子类必须覆写所有的抽象方法,否则这个子类还是抽象类
    2、接口
                1、关键字是interface
                            接口中的成员变量:默认是public  static  final
                            接口中的成员
                3、接口的作用-制定标准
                4、接口的作用-设计模式
                5、接口的作用-代理设置
    3、抽象类和借口对比
                抽象类:
                            语法:abstract  class  类名称
                            组成:常量、全局常量、变量、构造方法、普通方法、抽象方法
                            权限:可以使用各种权限
                            使用:子类通过extends关键字继承一个抽象类
                            关系:一个抽象类可以实现多个接口
                            设计模式:模板设计模式
                            局限:单继承局限
                接口:
                            语法:interface  接口名称
                            组成:全局变量、默认方法、抽象方法
                            权限:都是public权限
                            使用:子类通过implements关键字来实现多个接口
                            关系:一个接口不能继承抽象类,但可以继承多个接口
                            设计模式:工厂设计模式,代理设计模式
                            局限:没有单继承局限
    4、高手点拨
                1、继承抽象类与继承普通类的区别
                            子类必须覆写继承抽象类的抽象方法,而可以选择性的覆写普通类的方法
                2、接口、抽象类、类、对象的关系
                3、接口和抽象类的应用
     
    第14章:关于类的专题研究
    本章要点:
                1、掌握Object类的基本概念
                2、熟悉内部类的使用
                3、了解匿名对象的使用
                4、掌握方法的运用技巧
                5、掌握关键字的作用域使用技巧
    1、种类鼻祖---Object
                所有类直接或间接的继承Object
                1.1、toString()返回该对象的字符串表示,一般需要覆写
                1.2、equals(Object obj)指示其他某个对象是否与此对象“相等”,一般需要进行覆写
                1.3、hashCode()返回该对象的哈希码值
                1.4、使用Object接受任意引用数据类型对象(类,接口,数组)
    2、内部类的定义格式如下:
                访问修饰符  class  外部类名称{
                            访问修饰符  class  内部类名称{
                            
                            }   
                }
                1、非静态成员内部类
                2、静态成员内部类
                3、局部内部类
                4、匿名内部类(子类(实现类)只使用一次)
    3、匿名对象
                只使用一次
    4、this关键字的使用
                this代表当前对象(就是指调用类中的方法或属性的那个对象)
    5、使用static定义属性
                static修饰的成员是共享的,又称为类成员
                静态代码块里只能调用静态成员
                静态成员可以使用类名(接口名),静态成员
                当类被载入时,静态方法块被执行,并且只执行一次,作用初始化变量
    6、final关键字的作用
                final修饰的类不能被继承
                final修饰的方法不能被子类重写
                final修饰的变量只能赋值一次
    7、instanceof关键字的使用
                可以用来判断一个类是否实现了某个接口,也可以判断一个实例对象是否属于一个类
                一般是配合向下转型用的
    8、高手点拨
                1、匿名类使用注意事项
                            只能继承一个类或一个接口
                            不能定义构造函数
                            不能定义静态对象
                            局部内部类对匿名内部规则生效
                            不能是抽象的
     
    第15章:存储类的仓库--Java的常用类库
    本章要点:
                1、掌握Java类库的相关概念
                2、熟悉System类和Runtime类
                3、熟悉Math和Random类
                4、了解常见的类
    1、API概念:
                应用程序编程接口
    2、基本数据类型的包装类
                2.1、基本书籍类型包装秤对应的包装类,扩展功能
                2.2、装箱和拆箱
                                装箱:值类型(包括基本数据类型)-->引用数据类型
                                拆箱:引用数据类型-->值类型
                2.3、基本数据类型与字符串的转换
    3、System类和Runtime类
                3.1、System类
                3.2、Runtime类
    4、日期操作类
                4.1、日期类
                4.2、日期格式类
    5、正则表达式
    6、Math类和Random类
    7、大数字操作类
                7.1、大整数操作类:BigInteger
                7.2、打小数操作类:BigDecimal
    8、Integer类
    9、Boolean类
    10、Byte类
    11、高手点拨
                包装类型不能随便使用关系运算符比较大小
              “==”比较的是引用数据类型的地址
     
    第16章:解读Java中的String类
    本章要点:
                1、掌握字符串的相关概念
                2、掌握String类
    1、String类
                1.1、声明方式:
                            String  变量名;
                1.2、两种实例化方式
                            String  s = “abc”
                            String  s =  new  String(“abc”)
                1.3、字符串内容的比较
                1.4、字符串常量是String类的匿名对象
                1.5、两种字符串实例化方式的区别
                1.6、字符串一旦声明则不可以改变
                1.7、String类常用的方法
    2、高手点拨
                1、String  s  =  new  String(“java”);
                        创建了两个对象,一个“java”,一个是指向“java”的引用对象s              
                2、堆和栈的区别
                        堆内存是栈内存的子集
                        栈内存的速度仅次于寄存器
                        而栈内存的数据可以共享
                        堆内存运行时可以动态分配空间
                        速度较慢,且不共享
                        new对象在堆内存里
     
    第17章:对象的引用与传递
    本章要点:
                1、掌握引用传递的方法
                2、熟悉对象的克隆
                3、熟悉反射机制
                4、了解继承设计模式
    1、引用传递的初步了解
                引用传递,传递的是地址
    2、引用数据类型的传递
                值传递,值传递数值,传递完毕后,再无任何关系
                引用传递,传递的是地址,两个变量地址相同,一个改变,会影响另一个
    3、引用传递与现实生活的联系
    4、集成设计模式
    5、对象的克隆           
                对象克隆得到的副本与此对象的内容一致,但对象地址不同
                如何克隆?
                            1、要克隆的对象所在的类必须实现 借口Cloneable
                            2、在类中覆写父类Object的clone()方法
    6、反射机制
    7、高手点拨
                1、对象引用相等
                2、java中的垃圾回收机制
     
    第18章:包及访问权限
    本章要点:
                1、掌握包的基本概念
                2、掌握import语句的使用
                3、了解JDK中常见的包
                4、熟悉类成员的访问控制权限
                5、了解Jar命令的使用
     
    1、报的概念及使用
                包的声明语法:package  名称
    2、类成员的访问权限
    3、命名规范
    4、打包工具-Jar命令的使用
    5、构造方法私有化-单例模式
    6、多例模式
    7、高手点拨
                                        
    第19章:异常的捕获与处理
    本章要点:
                1、掌握异常的基本概念
                2、掌握对异常的处理机制
                3、熟悉如何在程序和方法中抛出异常
                4、了解如何编写自己的异常类
    1、异常的基本概念
                try{
                            //可能出现异常的代码
                }catch(异常类  对象名称){
                            //异常发生时处理的代码
                }catch(异常类  对象名称){
                            //异常发生时处理的代码
                }...
                finally{
                            //一定运行到的代码
                }
    2、异常类的处理流程
                异常分为两大类:
                            Error:JVM出错,用户无法在程序中处理这种错误
                            Exception:
    3、throws关键字的使用方式
    4、throw关键字(new实例)
    5、异常处理的标准格式
    6、RuntimeException            
                是那些可能在java虚拟机正常运行期间跑出的异常的超类
    7、编写自己的异常类
                必须继承Exception类或其子类,来表示可以描述异常
    8、高手点拨
                1、异常类型的继承关系(Throwable)
                2、RuntimeException和Exception的关系(前者是一个后者子类)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    第22章:齐头并进完成任务--多线程
    本章要点:
                1、了解进程与线程
                2、掌握实现多线程的方法
                3、熟悉线程的状态
                4、熟悉线程操作的方法
                5、熟悉线程同步的方法
                6、熟悉线程间通信的方法
     
    1、感知多线程
                进程:进行的程序,操作系统资源分配单位。
                线程:是进程中的执行路径,进程中的功能,是靠进程中的多个线程执行的
    2、体验多线程            
                实现多线程的两种方式
                            1、将类生命为Thread子类。该子类重写Thread类的run方法
                            2、声明实现Runnable接口的类。该类然后实现run方法、
    3、线程的状态
    4、线程的一些操作方法
    5、多线程的同步
                同步代码块
                            synchronized(对象){
                                            //要同步的代码
                            }
                如果要完成同步,此处的对象,必须是所有要同步的线程共享的一个对象
     
     
     
     

    分类:

    技术点:

    相关文章: