一、类
1. 定义:
类是对客观事物抽象后的一种复合数据类型,它将一类对象的状态和行为封装在一起。创建一个新的类,就是创新一种新的数据类型;而实例化一个类,就得到一个该类的对象。类是一组具有相同或相似属性和行为对象的抽象描述。
类的定义包括:类声明和类体
2. 定义类的语法格式:
[类的修饰符] class 类名 [extends 父类] [implements 接口名] // 类的头声明
{
成员变量声明 //类体
成员方法声明
}
类的定义各部分的含义如下:
①类的修饰符用来描述类的特性,指明类在使用时所受到的限制,包括类访问权限(如public)
和其他特性[abstract],[final]。
②class、extends和implements都是Java的关键字。class是用来标示类的声明,extends子句是指明该类继承某一父类;implements子句指明类实现某个(些)接口。
③类名用来定义类的名字,必须是合法的Java标识符
④类体中声明了该类中包含的成员变量和成员方法,类的成员变量即为属性,它可以是基本类型的数据或数组,也可以是一个类的对象,用来描述实物的静态特征;类的成员方法用来描述事物动态特征,主要处理该类的成员变量。Java中也可定义没有任何成员的空类。
【Tips】
public,abstract,final 关键字顺序可以互换,但class,extends,implements顺序不能互换。
3. 成员变量
成员变量分为类的成员变量和对象的成员变量(又被称为实例变量)。成员变量也称字段。
成员变量的一般定义格式:
[成员说明修饰符] 变量类型 成员变量名;
4. 成员方法
(1)定义成员方法的基本格式:
[成员说明修饰符] 方法返回类型 方法名 ( [参数列表] )
{
方法体
}
【Tips】
①一定要有方法的修饰符,即访问权限:
public > protected >默认的(package)> private
②一定要有返回类型:void,其他数据类型
③方法定义时的参数,形式参数,形参。
④方法体,是否有return语句
返回类型是void,不需要return语句。
返回类型是其他数据类型,必须有return语句。
方法首字母小写,若干个的话,第一个首字母小写后面首字母大写
(2)方法的调用
[类名 / 对象名.] 方法名([参数列表]);
【Tips】
①方法调用时的参数,实际参数,实参。
②实际参数列表通过逗号隔开。
(3)方法的参数
方法调用时,将实参传递给形参
参数传递:值传递,引用传递
值传递:
发生方法调用时,方法的参数类型是8大基本数据类型(byte、short、int、long、float、double、char、boolean),发生的传递 。
特点:形参变化不影响实参
引用传递:
发生方法调用时,方法的参数类型是非8大基本数据类型(如数组,对象等),发生的传递。
特点:形参变化会影响实参
(4) 特殊的方法
a.构造方法(或构造器)
b.设置器setter和访问器getter
5.构造方法
构造方法又称构造器,是类中的一个特殊的方法。构造方法的名字和类的名字相同,当创建的对象时,构造方法被启动,它给对象的实例字段赋初始值。
定义构造方法的语法格式
[修饰符] 构造方法名 ([形参列表]){
//由零条或多条可执行语句组成的执行体
}
特殊性:
①构造方法名与类名相同
②构造方法不返回任何值,也没有返回类型
③每一个类可以有零个或多个构造方法
如果没有,JVM会提供一个无参数无方法体的构造方法,
如果有,JVM不会提供构造方法。
④构造方法在创建对象时通过new关键字调用
6.设置器和访问器
访问器的特点:
方法声明部分有返回值类型
方法声明没有参数
方法体内必须有返回语句return
设置器的特点:
方法返回类型为void,即不返回类型
方法声明中至少有一个参数
方法体内肯定有赋值语句
7.方法重载
方法重载是Java实现多态性的方法之一。
重载:在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同。
包括成员方法和构造方法的重载
【例如】
public void fun(int a , int b)
public void fun(int a , float b , String s)
【Tips】
重载方法与方法的返回类型无关。返回类型不能区分重载方法