目录
1.理解类和对象:
类就是一类对象的统称,对象就是这一类具体化的一个实例.
举两个简单的例子:
第一个例子:一个月饼模可以做出许多个相同模样的月饼,那么这个例子当中月饼模子就是类,
而月饼就是对象,那么一个月饼模子(类) 制造无数月饼(对象) 的过程就称为实例化,也就是一个类可以实例化无数个对象.
第二个例子:现实生活中使用的建筑图纸可以建造出无数相同结构的房子,那么在这个例子当中
建筑图纸就是类,而被建造出来的相同的房子就是对象;从图纸(类) 建成房子(对象) 的过程叫实例化.
注意事项:
new关键字用于创建一个对象的实例
使用 . 来访问对象中的属性和方法
使用同一类可以创建多个实例
2.类的成员
类的成员主要包含:字段,方法,代码卡,内部类和接口等.重点介绍前三个
注意事项:
使用 . 访问对象的字段.
"访问" 既包含读, 也包含写.
对于一个对象的字段如果没有显式设置初始值, 那么会被设置一个默认的初值
默认值规则 对于各种数字类型, 默认值为 0. 对于 boolean 类型, 默认值为 false. 对于引用类型(String, Array, 以及自定制类), 默认值为 null;在java中,null表示不引用任何对象,如果对null进行 . 的操作会引发异常
3.static关键字
1、修饰属性
2、修饰方法
3、修饰代码块
4、修饰类
a) 修饰属性 Java静态属性和类相关, 和具体的实例无关. 换句话说, 同一个类的不同实例共用同一个静态属性.
图中的count变量是被static修饰的,属于静态成员变量,是所有类都可以共享的,且不属于对象,
静态成员变量的访问方式为: 类名.属性
b)修饰方法
如果用static修饰方法,那么该方法称为静态方法
静态方法属于类,而不属于类的对象。
可以直接调用静态方法,而无需创建类的实例。
静态方法可以访问静态数据成员,并可以更改静态数据成员的值。
注意事项1:
静态方法和实例无关, 而是和类相关. 因此这导致了两个情况:
静态方法不能直接使用非静态数据成员或调用非静态方法(非静态数据成员和方法都是和实例相关的).
this和super两个关键字不能在静态上下文中使用(this 是当前实例的引用, super是当前实例父类实例的引用, 也 是和当前实例相关).
注意事项2 :
main 方法为 static 方法;为什么呢?因为静态方法和静态数据加载到内存就可以直接调用,而不需要像实例方法一样创建实例后才能调用,正因为main方法是静态的,那么JVM调用这个方法就不需要创建任何包含这个main方法的实例.