Java的基本单位是类,Java成员即类中的成员,包括以下五个部分:
变量方法构造器初始化块内部类声明方式: [修饰符]类型 变量名[=默认值]; 修饰符:public、protected、默认(什么也不写)、private、static、final 根据定义变量的位置不同,可进行以下划分:
所有变量:变量是一个数据存储空间的表示。通过变量名可以简单快速地找到它存储的数据。变量是存储数据的一个基本单元,不同的变量相互独立。 成员变量(全局变量,field variable):在类中声明的变量; 类变量(静态变量):以static修饰的成员变量; 实例变量:不以static修饰的成员变量; 局部变量(local variable):定义在方法或域中的变量,包括形参、方法局部变量、代码块局部变量。 注:局部变量的初始值必须被显式声明!
package day608; public class Var { int age; // 实例变量 static int score; // 类变量 public static void main(String[] args) { String name; // 局部变量 System.out.println(score); // 将输出0 System.out.println(name); // 会报错,未初始化:Unresolved compilation problem: The local variable name may not have been initialized } }方法必须定义在类中。 声明方式: [修饰符]方法返回值类型 方法名(参数列表)[{}] 修饰符:public、protected 、默认、 private、 abstract、 final、 static 注:abstract和final不可同时出现,抽象的就是用于重写,而final修饰的方法不可被重写; 返回值类型:①void,无返回值类型;②基本数据类型和引用类型。
构造器用于构造类的实例,通过new关键字调用构造器,是创建对象的根本途径,如果一个类无构造器,系统将会为该类提供一个默认构造器,因而实际每个类都有构造器。 声明方式: [修饰符]构造器名(参数列表){} 注:构造器名必须与本类的public访问修饰符的类名相同。
在类的编译过程中,初始化块将会被还原到各个构造器中,并且位于构造器的最开始处。 因为有如下执行顺序: 静态初始化块 > 动态初始化块 > 构造器
静态初始化块动态初始化块 public class Var { // 静态初始化块 static { } // 动态初始化块 { } public static void main(String[] args) { // 动态块,静态方法里不能出现静态成员 { } } }顾名思义,类中包含一个类。 注:外部类的访问修饰符只能是public和默认
class A { private class B { } }