第一部分:Java初识
Java是一门面对象设计语言。1995年由sun公司发布,2010年sun公司被Oracle公司收购。(Java语言是用一种咖啡名来命名的。)
JVM(Java Virtual Machine)Java虚拟机
JDK(Java Development Kit)Java开发工具包
包含两个主要组件:
- javac —— 编译器,将源程序转成字节码;
- java —— 运行编译后的Java程序(.class后缀的)
JRE(Java Runtime Environment)Java运行环境
如果只需要运行Java程序,只需下载并安装JRE即可。如果需要开发Java程序,则需要下载JDK。(JRE是面向使用者的,JDK是面向开发人员的。)
JDK、JRE、JVM 三者关系
JDK包含JRE,JRE又包含了JVM。
- JRE = JVM + JavaSE标准类库
- JDK = JRE + 开发工具集(例如:javac编译工具等)
Java程序执行流程
第二部分:标识符与关键字
标识符命名规则:
- 只能由字母、数字、下划线( _ )、美元符( $ )组成;
- 首字母不能是数字;
- 不能是Java语法中的关键字和保留字;
- 严格区分大小写;
- 要言简意赅;
关键字
数据类型
基本数据类型的字面值
数据类型转换
图中箭头方向为自动类型转换方向,反方向为强制类型转换方向。
其中实线表示无损转换,虚线表示可能会损失数据精度。(损不损失精度主要看数据大小,若数据超过目标类型范围则损失精度,不超过则不损失。)
第三部分:面向对象
对象:描述客观事物的一个实体。(具体的)
类:具有相同属性和方法的一组对象的集合。(抽象的)
对象实例化的过程可以分为两部分:
- 声明对象(Cat tom),在内存的栈区域里开辟一块空间,此时这个空间中数据是空的。
- 实例化对象(new Cat()),在内存的堆区域里开辟一块空间,在这里面完成具体的属性赋值等相关的操作。
- Cat tom = new Cat(); 声明对象与实例化对象通过“=”来关联。将堆空间的地址传递到了栈当中的内存空间里,此后就可以通过对象名来调用相应的属性与方法了。
第四部分:构造方法
- **构造方法与类同名且没有返回值。 **
- **在一个类中构造方法可以有多个,可以带参,可以无参。 **
- **构造方法只能在对象实例化的时候使用。 **
- 当类中没有手动添加构造方法时,系统会自动添加一个无参的构造方法。
- 当类中已经有了指定的构造方法,无论是有参、无参的构造方法,都不会再自动添加无参的构造方法。
this关键字的使用
通过this调用成员属性,解决对象属性和局部变量同名冲突。
通过this调用同一个类中的成员方法。
通过this调用重载的构造方法。(通过this()调用的构造方法,必须放在方法体内第一行。)
方法的重载
1、须在同一个类中;
2、方法名相同;
3、参数列表不同(参数顺序、个数、类型);
4、方法参数名任意;
5、方法返回值任意;
6、访问修饰符任意;
方法的重写
1、须在有继承关系的子类中;
2、方法名相同;
3、参数列表也相同(参数顺序、个数、类型);
4、方法参数名任意;
5、方法的返回值相同;
6、访问修饰符,访问范围需要大于或等于父类的访问范围;