1.java是一门静态语言,静态语言指的是在编译期间就能知道度数据类型的语言,在运行前就能够坚持类型的正确性,一旦类型确定后就不能再更改
相应的,动态语言没有任何特定的情况需要制定变量的类型,在运行时确定数据类型
静态语言:java,c++
动态语言:JavaScrip,Python
2.不同操作系统有不同的jvm实现
3.数据类型:
java中,数据类型只有四类八种:整数型,浮点型,字符型布尔型
long默认值0L,float默认值0.0f,double默认值0.0d,char最小值:u0000(0),最大值:uffff(65535),boolean只有两种值,只表示一位,默认值:false
4.自增,自减运算符
5.运算符:移位运算符,三元运算符
6.如果类中没有定义任何构造方法,那么jvm会自动生成一个构造方法
注意:如果手动定义了任何一个构造方法,那么jvm就不在为你提供默认的构造器,你必须手动指定,负责会出现编译错误
7.重写的方法可以使用@Override注解类标识。
子类中重写方法的访问权限不能低于父类中方法的访问权限
9.只要创建了一个类,就隐式的继承自Object父类,只不过没有指定。如果你显示指定了父类,那么你继承与父类,而父类继承于Object类
10.组合
组合就是将对象引用置于新类中即可。组合也是一种提高类的复用性的一种方式。如果你想让类具有更多的扩展功能,你需要记住一句话:多用组合,少用继承
组合和继承的区别:
11.关系模型:继承,组合,代理
12.代理:A想要调用B类的方法,A不直接调用,A会在自己的类中创建一个B对象的代理,再有代理调用B的方法
13.static
static可以修饰成员变量和方法(类变量,类方法),static用在没有创建对象的情况下调用方法/变量
在静态方法中不能访问类的非静态成员变量和非静态方法
静态代码块随着类的加载而执行,因此,很多时候会将只需要进行一次的初始化操作放在static代码块中进行
14.泛型
(1)泛型就是参数化类型,就是将类型参数化
多了一步编译期类型检查