自己花了500多大洋在慕课上买的教程 https://class.imooc.com/sc/64/learn#
1、快速熟悉java
1、java基础
1、基本数据类型
整型
字符串
浮点
2、各种运算符
1、比较运算符 > == >= <=
2、布尔运算符 && ||
3、或运算符
4、小括号运算符
5、运算符优先级
6、位运算符
1、按位并 (AND) & 如果两个数的二进制位都是1,返回true
2、按位或 (OR) | 如果两个数的二进制位有一个是1,返回true
3、按位异或 (XOR) ^ 如果两个数的二进制位只要不相同那就是1,若两个位相同那就是0
4、按位取反 ~ 需要一个操作数,对一个数二进制取反
7、快速运算写法
a ^= 1
a >> = 1
…
3、类型转换
1、自动类型转换
2、强制类型转换
4、字符串
1、字符集、编码
2、字符串加法
5、if/else流程控制语句
6、for、while、do … while循环
7、switch
8、数组
特点:
1、数组是连续的内存空间
1、一维数组
2、多维数组
9、类、对象
10、包
11、方法
1、方法重载 (方法名相同,参数列表不同,注: 返回值类型不在考虑范围)
12、传值、传引用
1、类型分为普通数据类型、引用数据类型
普通数据类型,比如int、string等
引用数据类型:数组、对象
13、可变参数列表和数组的区别
1、可变参数列表必须排在最后
2、一个方法参数中只能有一个可变参数列表
14、面向对象
1、声明对象是在栈空间,实例化对象是在堆空间
2、构造方法
1、构造方法间可以通过this()进行构造方法的调用
2、父类的构造方法不允许被继承、不允许被重写
3、父类如果没有无参构造方法,会影响子类的对象的实例化
3、封装
不带修饰符、public、protected、private
4、static 关键字
1、无论实例化多少个对象,它们都公用一个静态成员
2、既可以通过“对象.静态成员”,也可以通过“类名称.静态成员”访问
3、可以加在类属性、方法前面
5、继承
定义:
1、两个类之间满足“A is a B”的关系就可以形成继承关系,如小轿车(或者大货车)都是汽车,那小轿车(或大货车)都继承自汽车
2、可以通过“extends”来实现
方法重写
1、是子类重写父类的方法
2、要求:方法名相同、参数列表相同(参数类型、个数、类型),返回值类型相同
3、子类的访问修饰符必须大于或等于父类方法的访问修饰符
4、子类中是可以重写父类的成员属性的
5、静态方法和final方法不能被重写
6、重写方法访问权限必须大于等于父类方法
7、继承加载顺序为:父类静态代码块 > 子类静态代码块 > 父类代码块 > 父类构造方法 > 子类代码块 > 子类构造方法
6、super关键字
1、可以访问父类属性、方法
2、子类可以通过该关键字调用父类其它构造方法
3、调用构造方法时必须放在方法体第一行
4、”super.(方法/属性)”,super()或者super(参数)必须在构造方法中执行
7、this和super的区别:
1、都不能在static方法中运行
2、this可以访问当前类的属性、方法(包括构造方法)
3、super可以访问当前类的父类的属性、方法(包括构造方法)
8、多态
1、向上转型
当父类引用指向子类实例时,父类可以调用子类重写父类的方法
2、向下转型
1、当子类引用指向父类实例时,必须对父类实例进行强制转换,这时候能调用子类特有方法(但是如果父类实例并没有该方法时,编译虽然能通过,但是执行时仍会报错 — 可以用 instanceof 运算符进行判断)
3、類型轉換
不能进行兄弟类间的强制类型转换,若编写该语法,则编译不会报错,但运行过程会报错
9、抽象
1、不能被直接实例化、只能被继承
2、包含抽象方法的类一定是抽象类
3、static、final、private不能作为抽象类的抽象方法修饰符
10、接口
1、接口类中常量可以写成 “int TMP1 = 10;”
2、接口常量在定义的时候必须初始化其值
3、接口之间可以相互继承、并且可以继承多个
11、内部类
1、分类:成员内部类、静态内部类、方法内部类、匿名内部类
2、特点:
1、内部类在外部类使用时,无法直接实例化,需要借由外部类信息才能完成实例化
2、内部类的访问修饰符,可以任意,但是访问范围会受到影响
3、内部类可以直接访问外部类的方法和属性,如果出现了相同的属性,优先使用内部类定义的
4、内部类可以使用 外部类.this.成员方法/属性 的方式,访问外部类中同名的信息
5、外部类访问内部类信息,需要通过内部类实例化访问,无法直接访问
12、方法内部类
1、内部类名称不能包含public、private、protected、static关键字
13、匿名内部类
1、适用于只用一次的场景
2、匿名内部类没有类型名称、实例对象名称
3、编译后的文件命名: 外部类名$数字.class
4、无法编写构造方法、可以添加构造代码块
5、不能出现静态成员 (带final关键字的static可以用)
14、异常
1、按类型分为: 两个大类,error和exception,exception分为: check异常(SQLexception等)、uncheck异常两类 (runtime exception:内存溢出、空指针异常等)
2、异常捕获主要靠5个关键字:try catch finally throw throws
2、java进阶 (待定)
1、jvm
2、快速搭建一个spring boot项目
1、introduction