
**泛型常用通配符:(并不要求某个通配符必须要用某个字母,字母可以自己定义)**
//表示不确定的java类型
T //表示具体的一个java数据类型,一般用于传参表示参数
U //表示具体的一个java数据类型,一般用于传参表示第二个参数
K V//分别表示Java键值对Key、Value
E //代表Element元素类- 阅读剩余部分 -

# 类的反射:
**创建Class实例:**
\- 通过静态方法获取Class实例
\- 通过对象获取Class实例
\- 通过类名获取Class实例
**查询信息:**
\- 获取类的信息
\- 获取类的方法信息
\- 获取类的构造方法信息
\- 获取类的属性信息
## 创建Class- 阅读剩余部分 -
## 断言:
**语法:**
assert 条件;
assert 条件:字符串;
**解释:**当断言的条件不成立时则程序会停止运行,在断言后面的代码块就不会被执行。
:表示对包内所有子包禁用用断言
**在MyEclipse添加-ea参数:**
run->run configurations->java applicatio- 阅读剩余部分 -

**AOP概念:上图中的三个软件核心业务模块可以看作三个方法,面向方向(AOP)可以对这三个方法进行"切面",相当于对这三个方法的头尾都做了逻辑处理,而普通的面向对象(OOP)只能分开来单独对每个方法进行代码修改,添加头尾。**

**解释:**其中的内填写的是类数据类型,填写后集合只支持存储该类型的数据。
**例1:**

**例2:**

注意:
1. 从低位到高位可以自动类型转换,但是从高位到低位必须进行强制类型转换。
2. 强转的发生是建立在 "编译器能否判断需要转换的类型(右边的数)是否在被赋值的数据类型(左边的数)的范围内" 的条件下。除了”低级到高级数据类型的转换“编译器可以直接判断外,当需要转换的类型(右边的数)为整数常量时也可以直接判断。
- 阅读剩余部分 -
##容器与集合的概念:
1. 容器可以管理对象的生命周期、对象与对象之间的依赖关系,简而言之,能存储数据的东西就是容器。
2. 容器可以分为"数组 String、java.uti、下的集合(又称集合容器)"
3. 数组与集合的区别在于数组大小固定,只能存储相同数据类型的数据,只能按索引顺序存取;集合大小可动态扩展,可以存储"各种数据类型"的数据...
4. 集合实现的底层几乎都有数组的身影在,硬要说数组也可以算是集合的一份子,之后会介绍到的类数组既属于数组更属于集合。- 阅读剩余部分 -
##向前引用:
**向前引用简介:**向前引用指的是某变量在定义前被使用,这在C语言中向前引用是不被允许的,然而在JAVA中相处了向前引用的错误,意味着在java中使用向前引用是可行的。
**注意一:**向前引用不能发生在同一局部代码块中
**例1:**下列代码是正确的,j=20与j=10不在同一个局部代码块中。

问:为什么向前引用,- 阅读剩余部分 -
###1.Math.pow(a,b) //求平方数
a:底数
b:指数
返回值:a的b次幂
返回值类型:double类型
实例:

结果:

---
###2.Math.abs(a) //求绝对值
- 阅读剩余部分 -
单继承(extends):extends后面只能继承一个父类,这样的话就很有局限性
多继承(implements):多继承通过接口实现
##父类接口:
接口需要使用关键字interface
```key
语法:interface 父接口名{ }
```
注意:
1.接口中只能有抽象方法,并且接口中的抽象方法只能使用public abstract来修饰,如果方法前面省略修饰符的话,默认会加上public abstract。
2.接口中可以定义成员变量,- 阅读剩余部分 -