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,递归体:什么时候调用自己
转载请注明原文地址: https://www.6miu.com/read-17335.html