Java初级总结

来源:互联网 发布:淘宝破损补寄显示什么 编辑:程序博客网 时间:2024/05/22 12:52
JDK 的安装
1,下载,安装。
2,配置环境变量
    a)path:bin目录
    b)JAVA_HOME:JDK的安装目录
    c)classpath:lib目录
3,JDK(Java development kit。Java开发工具包)
   JRE(Java runtime environment。Java运行环境)
   JVM(Java virtual machine)
   我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用

变量
1,局部变量
    定义在方法内或者语句块内,从属于方法或语句块
    使用之前必须手动初始化。
2,成员变量
    定义在类里面,方法外面,从属于对象
    可以不手动初始化,系统自动初始化规则如下:
        数字: 0 0.0 布尔: false char :\u0000 引用类型:null
3,静态变量
    定义在类里面,方法外面,从属于类
    可以不手动初始化,系统初始化方法和 成员变量一样

数据类型
1,基本数据类型
    a)数字
        ① 整数 byte(1) short(2) int(4)默认该类型  long(8)
        ② 浮点数 float(4) double(8)默认该类型
    b)字符 char(2)
    c)布尔 boolean(1位)
2,引用类型(4)
    a)数组
    b)对象
    c)接口

表达式和运算符
1,类型的自动提升
    long——long
    double——double
2,强制转型

运算符
1,算数运算符
2,关系运算符
3,逻辑运算符
    && || ! & |
4,位运算符
    & | <<(左移一位相当于乘2),>>(右移一位相当于除以2)
5,扩展运算符
    += -= /= %=
6,三目运算符
    (布尔表达式)?true:false

控制语句
1,顺序结构
2,选择结构
3,循环结构

面向对象基础

定义类
(public)class 类名{
    //属性
    private 数据类型 属性名
    
    //方法

    //构造方法
    public 类名{}
}
构造方法:
1,方法名必须跟类名一致
2,无返回类型
3,通过new类调用
4,无参构造器问题:
    a)如果没有手动定义构造器,系统自动添加一个无参构造器
    b)如果用户自己定义了构造器,系统不会自动添加无参构造器
5,构造方法的第一句总是 super...,即调用父类构造方法

方法的重载    overload
两同:同一个类,同一个方法名
三不同:参数列表不同:类型,个数,顺序

返回值不同,构成重载吗?            NO
形参名称不同,构成重载吗?        NO

this:
    普通方法中:调用本方法的对象
    构造方法中:正要初始化的对象
    还可以用来调用其他的构造方法
super:
static:
    用它修饰的变量和方法,就变成静态变量和静态方法,从属于类,用类名就可以调用,实际存储于方法区中
package:
    package必须位于非注释行的第一句。
    包名:域名倒着写
import:
    引入外部的类
    import static 导入类的静态属性
final:
    修饰变量:常量(命名规范:全部大写,多个单词之间用下划线隔开)
    修饰方法:不能被重写
    修饰类:不能被继承

面向对象的三大特征
封装
    通过private default protected public 关键字实现属性或方法的封装。
    高内聚,低耦合


继承
    通过extends 两个好处:
    a)代码重用
    b)通过继承实现对现实世界更加准确的建模
    c)类只有单继承
    方法的重写:
    =:方法名保持一致
    >=:子类的权限修饰符可以大于等于父类的
    <=:子类的返回值类型小于等于父类的类型。子类声明异常不能超过父类的类型
    object类:
        1,是所有类的根基类
        2,toString
        3,equals,hashcode
        4,wait,notify,notifyall
多态
    三个必要条件:继承,方法的重写,父类引用指向子类对象

动态绑定,静态绑定:

抽象类:
    1,包含抽象方法的类,
    2,抽象类不能被new
    3,抽象类可以包含:普通方法,成员变量,构造方法
    4,抽象方法必须被子类重写

接口:
    1,interface
    2,类实现接口:implements,可以实现多个接口
    3,接口可以多继承
    4,接口定义的规范

内存机制:


    1,存放局部变量
    2,不可以被多个线程共享
    3,空间连续,速度快

    1,存放对象
    2,可以被多个线程共享
    3,空间不连续,速度慢,但是灵活
方法区
    1,存放的信息:代码,静态变量,字符串常量
    2,可以被多个线程共享
    3,空间不连续,速度慢,但是灵活

垃圾回收器(GC,garbage collection)
    1,程序员不能调用垃圾回收器,但是可以通过system.gc()建议回收
    2,finallize:一般也不用调

递归算法
    1,递归头:什么时候不调用自己
    2,递归体:什么时候调用自己

原创粉丝点击