类
类是Java最小单位,方法、构造器、变量都必须在类里。
语法:[修饰符] class 类名{
//多个Field;
//多个构造器;
//多个方法;
}
[修饰符]:public | final | abstract 任选一,也可省略。
类名:合法标识符即可,建议是有意义的单词,每个首字母都大写。
方法
方法不能独立存在,要么属于对象,要么属于类,必须使用类或实例作为调用者。
语法:[修饰符] 返回值类型 方法名 (形参列表){
//可执行语句;
}
修饰符: 可以省略
public | protected | private
static 静态
abstract | final
类型: 基本数据类型和引用类型,如果声明了返回值类型,必须有一个有效的return语句,返回一个变量或表达式.如果没有返回值,用void声明
方法名: 标识符即可,建议用动词,首单词首字母小写后面单词首字母大写.
形参列表: 0~N组 参数类型 参数名 组成 用逗号隔开
参数传递机制:值传递。实参传递的是副本,引用变量传递的是内存首地址。
形参个数可变的方法:1、方法形参数量不确定时,在最后一个形参类型后增加三点(...),表明可以接受多个参数值(包括0个),多个参数值被当作数组传入。2、一个方法只有一个长度可变的形参,既可以传入多个参数,也可以传入一个数组。
递归方法:一个方法体内调用它自身,递归一定要向已知方向递归,否则会出现类似死循环(不会无线循环)
方法重载:同一个类中包含2个以上方法名相同,但形参列表不同。与方法其他部分无关系。
构造器
通过new关键字创建类的实例,并执行初始化。
语法:[修饰符] 构造器名 (形参列表){
//可执行语句;
}
修饰符: public | protected | private (公共的 | 受保护的 | 私有的) 也可省略
构造器名: 必须和类名相同
形参列表: 格式与方法完全相同
初始化:1、类中至少包含一个构造器,程序员没有创建,系统默认提供一个无参构造器。
2、当程序员创建了构造器后,系统将不会提供无参构造器。如想保留无参构造器,只能再创建一个无参构造器。
3、创建任何对象总是从该类所在继承树的最顶层类的构造器开始执行,然后依次向下执行,最后才执行本类的构造器。
重载:1、构造器重载:同一个类中有多个形参列表不同的构造器。(名字都是类名)
2、当一个构造器完全包含另一个构造器,则可以用this关键字调用另一个构造器。
变量
成员变量
1、在类里定义的变量,就是Field。一个类里不能同时定义两个同名的成员变量。
2、不以static修饰叫实例Field,以static修饰的叫类Feild。
语法:[修饰符] Field类型 Field名 [=默认值];
修饰符: 可以省略
public | protected | private
static | final
类型:基本数据类型和引用数据类型
变量名:合法标识符即可,建议用有意义的单词,首个单词首字母小写后面的单词首字母大写
默认值:可选
初始化:1、成员变量无需初始化,系统默认进行初始化,字符串型默认null,整型(包括char)默认0,浮点型默认0.0,布尔型默认false。
2、所有类实例访问类Feild时,都是通过类来访问类Feild,建议要访问类Feild时,用类作为主调。
局部变量
1、在方法里定义的变量,包含形参、方法局部变量和代码块局部变量。
2、一个方法里不能同时定义两个同名的局部变量。一个方法中不同的代码块区内代码块局部变量可以同名。
3、方法里的局部变量和成员变量同名,局部变量会覆盖成员变量,如果需要在该方法中引用被覆盖的成员变量,则可使用this或类名来调用。
初始化:除形参以外,其他的变量定义后必须初始化。变量只在当前作用域中有效。