目录
1、类
1.1定义
- 类是面向对象编程实现信息封装的基础。
- 每个类包含数据说明和一组操作数据或传递消息的函数。
- 类的实例称为对象。
- 类的实质是一种引用数据类型,类似于byte、short、int等基本数据类型,但更复杂。
1.2成员变量
1.2.1成员变量的定义
- 在Java SE中,类的成员变量(也称为属性或字段)是定义在类内部但位于方法之外的变量。这些变量用于存储与类相关的数据,并在类的不同实例之间共享(除非它们被声明为static)。
- 位置:成员变量定义在类体中,但在任何方法之外。
- 语法:数据类型 变量名;
1.2.2成员变量的类型
- 基本数据类型:如int、double、char、boolean等。
- 引用数据类型:如数组、其他类的实例、接口等。
1.2.3成员变量的默认值
- 如果在类体中没有对成员变量赋初值,那么系统将会给成员变量进行默认初始化。 对于基本数据类型: 数值型(byte、short、int、long)默认为0。
- 浮点型(float、double)默认为0.0。
- 字符型(char)默认为空字符('\u0000')。
- 布尔型(boolean)默认为false。
- 对于引用数据类型:默认为null。
1.2.4成员变量的作用域
- 成员变量在类体的任何位置都是有效的,可以在类的任何方法中被访问和修改(除非它们被声明为private或protected)。
1.2.5成员变量的访问修饰符
- public:成员变量可以被任何类访问。
- protected:成员变量可以被同一包内的其他类和不同包中的子类访问。
- 默认(无修饰符):成员变量只能被同一包内的其他类访问。
- private:成员变量只能被该类自身访问。
1.2.6静态成员变量(类变量)
- 如果成员变量被声明为static,则它成为类变量(也称为静态变量)。
- 类变量属于类本身,而不是类的实例。
- 类变量在内存中只有一份,会被类的所有对象共享。
- 可以通过类名直接访问类变量,也可以通过对象名访问(但通常不推荐这样做)。
1.2.7成员变量的初始化
- 可以在声明成员变量时直接赋值。
- 可以在构造方法中初始化成员变量。
- 可以在初始化块中初始化成员变量(初始化块在每次创建对象时都会执行,并且在构造方法之前执行)。
1.3局部变量
1.3.1定义
- 在Java SE中,类的局部变量是定义在方法内部或代码块内部的变量。它们具有特定的作用域和生命周期,并且在方法或代码块执行完毕后会被销毁。
- 定义:局部变量是定义在方法体内部或代码块(如if语句、for循环等)内部的变量。
- 位置:局部变量只能在其所在的方法或代码块内部被访问。
1.3.2作用域
- 局部变量的作用域仅限于其定义的方法或代码块内部。一旦离开该作用域,该变量将不再存在。
- 在方法或代码块内部,局部变量具有最高的优先级。如果局部变量与成员变量同名,那么在方法或代码块内部将优先使用局部变量。
1.3.3生命周期
- 局部变量的生命周期与其所在的方法或代码块的执行周期相同。当方法或代码块被调用时,局部变量被创建;当方法或代码块执行完毕后,局部变量被销毁。
- 局部变量不会自动初始化,必须在声明时或声明后的某个位置进行显式初始化。
1.3.4初始化
- 局部变量在使用前必须显式初始化。如果未初始化就使用,编译器会报错。
- 初始化可以在声明时直接赋值,也可以在方法或代码块内部的某个位置进行赋值。
1.3.5修饰符
- 局部变量不能使用访问控制修饰符(如public、protected、private)进行修饰。
- 局部变量也不能使用static修饰符进行修饰,因为局部变量属于某个具体的方法或代码块,而static修饰的变量属于类。
1.4声明格式
class ClassName {
// 字段(成员变量/属性)
field;
// 方法(成员方法)
method;
}
2、对象
2.1定义
- 对象是某个类的一个实体。
- 当有了对象后,类的属性便有了属性值,行为也就有了相应的意义。
- 类是描述某一对象的统称,对象是这个类的一个实例。
2.2使用
- 访问对象的属性和方法
- 如果是在当前类中,可以直接访问属性和方法
- 如果是在其他类中,可以使用对象名 点运算符去访问
- 关键字:使用class关键字来定义类。
ClassName objectName = new ClassName();