1.Java语言平台
J2SE(Java 2 Platform Standard Edition)标准版是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发;
J2ME(Java 2 Platform Micro Edition)小型版是为开发电子消费产品和嵌入式设备提供的解决方案;
J2EE(Java 2 Platform Enterprise Edition)企业版是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发 .
2.Java语言跨平台原理
write once ,run anywhere!(一处编译,到处运行)
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
JRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDKJDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
3.Java关键字,标识符
被Java语言赋予特定含义的单词
标识符就是给类,接口,方法,变量等起名字时使用的字符序列 。
static 静态是随着类的加载而加载
final是最终的
4.Java数据类型
4.1基本数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L
float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
4.2引用数据类型
引用数据类型分3种:类,接口,数组;
5.运算符
算术运算符 + * / %
赋值运算符 =
关系运算符 > < =
逻辑运算符 & | !
位运算符 & | ^ ~
三元运算符 关系表达式) ? 表达式1 : 表达式2;
6.流程控制语句
顺序结构
选择结构 if switch
循环结构
6.1 for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
6.2 while(判断条件语句) {
循环体语句;
控制条件语句;
}
6.2 do {
循环体语句;
控制条件语句;
}while(判断条件语句);
return和break以及continue的区别?
* return是结束方法
* break是跳出循环
* continue是终止本次循环继续下次循环
7.方法重载:
* 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
* 参数列表不同:
* A:参数个数不同
* B:参数类型不同
* C:参数的顺序不同(算重载,但是在开发中不用)
8.继承
Java只支持单继承,Java支持多层继承
9.方法重写
方法重写:子类中出现了和父类中方法声明一模一样的方法。
10.多态
事物存在的多种形态
多态前提
a:要有继承关系。 b:要有方法重写。c:要有父类引用指向子类对象。
成员变量
* 编译看左边(父类),运行看左边(父类)。
成员方法
* 编译看左边(父类),运行看右边(子类)。
静态方法
* 编译看左边(父类),运行看左边(父类)。
Person p = new SuperMan();向上转型
SuperMan sm = (SuperMan)p;向下转型
多态的好处
* 可以当作形式参数,可以接收任意子类对象
:多态的弊端
* 不能使用子类的特有属性和行为。
11.抽象类
抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
a:成员变量:既可以是变量,也可以是常量。abstract是否可以修饰成员变量?不能修饰成员变量
b:构造方法:有。用于子类访问父类数据的初始化。
c:成员方法:既可以是抽象的,也可以是非抽象的。
12.接口
从狭义的角度讲就是指java中的interface
从广义的角度讲对外提供规则的都是接口
* 成员变量;只能是常量,并且是静态的并公共的。
* 默认修饰符:public static final
* 建议:自己手动给出。
* 构造方法:接口没有构造方法。
* 成员方法:只能是抽象方法。
* 默认修饰符:public abstract
* 建议:自己手动给出。
13.抽象类和接口的区别
A:成员区别
抽象类:
成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量
成员方法:只可以抽象B:关系区别
类与类
继承,单继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承C:设计理念区别
抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。
14.类及其组成所使用的常见修饰符
- A:修饰符:
- 权限修饰符:private,默认的,protected,public
- 状态修饰符:static,final
- 抽象修饰符:abstract
B:类:
- 权限修饰符:默认修饰符,public
- 状态修饰符:final
抽象修饰符:abstract
用的最多的就是:public
C:成员变量:
- 权限修饰符:private,默认的,protected,public
状态修饰符:static,final
用的最多的就是:private
D:构造方法:
权限修饰符:private,默认的,protected,public
用的最多的就是:public
E:成员方法:
- 权限修饰符:private,默认的,protected,public
- 状态修饰符:static,final
抽象修饰符:abstract
用的最多的就是:public
F:除此以外的组合规则:
- 成员变量:public static final 接口
- 成员方法:
- public static
- public abstract
- public final