java语法
1.环境。安装jdk。Java Development kit。jdk+jre。JRE:java runtime enviroment ,java运行时环境
设置环境变量。
JAVA_HOME:安装目录
Path:%JAVA_HOME%\bin
2.开发工具。
eclipse
idea
netbeans
3.基础语法。java语言的特点。简单,严谨,易读。
3.1 变量,常量
3.2 数据类型:基本数据类型,引用类型
3.3 8大基本数据类型:
byte 1 -128~127
short 2 -32768~32767
int 4 -2147483648~2147483647
long 8
不精确:
float 4 6~7
double 8 16~17
char 2
boolean 1字节
3.4 运算符
算术运算符:+ - * / %,双目运算符
比较运算符:> < >= <= == !=,双目运算符,比较结果是boolean值
逻辑运算符:&& || !,逻辑运算符的结果boolean值,存在短路运算。
赋值运算符:= += -= *= /= %=... a+=10
条件运算答:a?b:c,唯一的三目
位运算符:
其它运算符:a instaceof b
3.5 表达式(有值)
3.6 语句。java代码执行的基本单位。
3.7 流程控制结构:
1.顺序结构:
2.分支结构:if...esle...语句,switch语句
3.循环结构:while do...while for break contine
3.8 数组
int[] a = new int[]{1,2,3}
获取数组长度。.length属性,只读。
如果访问数组元素。索引(下标),整数,包括0,不能是负数,不能是小数,不能超出边界。
3.9 数组的应用。排序。
4.0 函数。
4.1 面向对象
类:类型,将很多实例抽取共性,总结归纳。
对象:独一无二的实例。在java语言中,对象是通过类来创建的。
类:
1.成员属性:描述类的静态特性。
2.成员方法:描述类的动态行为。
3.构造函数。
创建对象:new 构造方法()。
封装:将成员属性和成员方法包含到一个类中,选择性的对外开放成员。
成员访问修饰符:对外开放程度
public:公开,公有的,任何位置都可访问。
protected:受保护的,包内及后代可以访问。
<空>:包内访问。
private:当前类内部访问。
继承:单继承。默认继承自Object,顶级根类。
1.非私有成员可以被继承。
2.所有成员都可继承,只是不可见。
3.构造函数不能被继承。
protected:
super:父对象
this:当前对象
访问当前对象成员,或父对象成员
this.xxx,如果不存在命名冲突,可以省略。
super.xxx,访问父对象的成员。
访问构造函数:
this(xxx):调用当前类的构造函数
super(xxx):调用父类的构造函数
构造函数:对对象的成员属性进行初始化。
1.与类同名。
2.无返回值。
3.如果一个类没有显式定义构造函数,会自动创建一个公有的无参的构造函数。如果显式指定了构造函数,则不会再创建。
4.构造函数是类成员,可以指定修饰符。
5.创建对象时,使用new <构造函数>(xxx)。
6.创建子类对象的时候,必须先调用父类的构造函数。
7.构造函数的第一句必须是this(xxx)或super(xxx),用只能有一次调用
8.如果没有显式调用this(xxx)或super(xxx),则默认调用super()。
重写:覆盖父类的方法定义。
多态:非常重要。在程序运行期间,同一行为,表达出多种形态。
1.继承或接口。
2.重写。
3.使用一个父类型(祖先类型)的引用指向一个子类(后代类)的实例。
==================
static 和 final
static成员即类成员,属于类的,不属于某一个对象。不能修饰构造函数。
通过类名称直接访问。
final:表示最终的,不变的。
1.修饰类:表示类不可被继承。
2.修饰方法:表示方法不可被重写。
3.修饰变量:表示此变量为不可变的变量(常量)。
抽象类与接口:
抽象方法:只有方法定义,没有实现的方法,叫抽象方法。使用abstract关键字修饰。
抽象类:使用abstract关键字修饰的类。
1.使用abstract关键字修饰。
2.不能创建实例。
3.除此之外,和普通类没有区别。
4.可以有构造函数。
5.抽象类中允许(可以)有抽象方法。
6.一个类中,只要有抽象方法,则只能为抽象类。
接口:
1.接口不是类。
2.接口中只能有抽象方法(默认)、静态方法(static)和默认方法(default)。
3.接口中的方法默认是public abstract。
4.接口中的静态方法与类中的静态方法类似,可直接由接口调用。
5.接口中的默认方法可被继承到实现类中。在默认方法中可以使用this关键字。由实现类来调用。
接口提供一定的规范和约束,不提供实现。
实现类来实现接口。implements 实现接口。
实现类必须对接口中的方法提供实现,如果不能,则只能为抽象类。
面向接口编程。
常用类:
1.Object:所有类的终级父类。没有父类。
hashCode:用于生成对象的唯一(尽量唯一)整数标识码。使用哈希函数来生成。重写。默认返回对象的内存地址。
equals:用于判定两个对象是否逻辑上相等。逻辑是由程序员决定的。重写。默认比较是否同一个内存地址。
toString:将一个对象以字符串的形式展示。
clone():克隆一个对象。
getClass:获取对象的类型实例(Class)
2.String:表达字符串,不可继承。内容不可变。
3.Math:数学相关方法。
4.Date:日期相关。LocalDate,LocalTime,LocalDateTime。
集合相关类:
1.List:ArrayList,LinkedList。列表:有序,可重复。
2.Set:HashSet。集合:无序,不重复。
3.Map:HashMap。映射:存储键-值对。键无序,不重复。
泛型:<T> 。 类型变量。
异常:程序出错时的处理方式。挽救,或补回措施。
try...catch...finally。
catch可以有多个分支,第一个分支,捕获某一个类型的异常。
finally分支中的代码一定会执行,无论是否出现异常。
异常是有类型的。
异常分成两种:
1.编译时异常,检查异常。checked Exception。在编译期就要求处理异常。
2.运行时异常。RuntimeException。
IO:Input & Output。流对象来完成输入输出的。
流动的方向:输入流和输出流
流动的单位:字节流和字符流。
介质类型:文件流,网络流,数组流。。。
以Stream结果的是字节流。
包含Input的是输入流。
流在使用完之后必须关闭,如果忘记,容易造成内存泄露。
throws:写在方法的后面。表示此方法向上抛出异常。
throw:原地抛出(触发,引发)异常(一个异常对象)。
多线程:
反射:

475

被折叠的 条评论
为什么被折叠?



