一.类与对象
1.类和对象的概念
object:类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物进行描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例
2.类的语法结构
java语言中定义类的语法如下:
[修饰符] class 类名
{
定义构造方法;
定义属性;
定义方法;
}
对一个类定义而言,可以包括3个最常见的成员,即构造方法、属性和方法,3个成员都可以定义零个或多个,如果3个成员都只定义零个,就是定义了一个空类,这没有实际意义
注:类中各成员之间的定义顺序对程序没有任何影响
3.对象创建和使用
(1)声明对象。对象的声明和基本类型的数据声明在形式上是一样的。具体格式如下:
类名 对象名
例如:
Hero hero;
(2)实例化对象。使用new关键字调用类的构造方法实例化对象。具体格式如下:
对象名 = new 构造方法()
例如:
hero = new Hero()
4.如果访问权限允许,类中定义的方法和属性都可以通过类的实例来调用。调用属性或方法时要使用"."运算符
(1) 属性的调用,其具体格式如下:
对象名 ,属性
(2)方法的调用,其具体格式如下:
对象名 . 方法名 { [ 参数 ] }
5.对象和引用
当一个对象被创建成功后,该对象将保存在堆内存中,java程序不允许直接访问堆内存中的对象,只能通过该对象的引用访问该对象。无论是数组还是对象,都只能通过引用来访问它们
注:无论是数组还是对象,当程序 访问引用变量的属性或方式时,实际是访问该引用变量所引用的数组、对象的属性或方法
二.方法详解
1.方法声明
方法(method)的声明包含方法头和方法体两部分,方法的声明格式如下:
[<修饰符>] < 返回类型 > <方法名 >( [ 参数列表 ]){ 方法体}
方法声明说明如下:
(1)方法声明包括方法头和方法体两部分,其中方法头包括修饰符、返回类型、方法名和参数列表;方法体包括在花括号内的声明部分和语句部分,用于描述方法的功能。
(2)修饰符,表示方法的访问权限。修饰符有private、缺省访问修饰符、protected 和public
(3)返回类型,为该方法返回值的类型,如该方法没有返回值,则方法的返回类型为void
(4)参数列表,指定在调用时,应该传递的参数的个数和类型。参数列表如果包含多个参数,相邻的参数之间用逗号隔开,此处的参数在定义时并没有分配存储单元,只有在运行时间才分配,所以称为形式参数。方法也可以没有参数,称为无参方法。注意无参方法后面的一对圆括号不能省略
(5)对于有返回值的方法,方法体中至少有一条return语句,形式为return(表达式)。当调用该方法时,表达式的值就是方法的返回值,方法返回值的类型应和表达式的类型一致。
(6)方法不能嵌套定义,即不能在方法中再声明其他的方法。在程序中,方法是不可或缺的。通过使用方法可以完成特定的功能,方法一旦定义, 就可以在不同的程序中多次调用,这样可以增强程序的可读性和可重用性,提高编程的效率。但对于初学者而言,使用方法时经常出现错误,尤其是在方法的声明和调用以及参数传递方面
2.方法调用
说明:如果方法的返回类型为void,说明方法没有返回值,所以在main()方法中调用时,可以将此方法作为一条语句直接在程序中使用
3.方法参数传递
参数的传递是指实际参数向形参值的传递的过程。如果声明方法时包含形参的声明,则调用方法时必须为这些形参指定参数值,调用方法时实际传给形参的参数值被称为实参。
那么,实参是如何传递给方法的?这是由Java方法的参数传递机制所控制的,Java中方法参数传递方式只有一种,即值传递。所谓值传递就是将实参的副本( 复制品)传递给形参,而实参本身不会受到任何影响。
三.可变形参方法
1.可变方法的声明格式如下:
[ < 修饰符 > ] < 返回类型 > < 方法名 > (变量类型...变量名){方法体}
2.方法声明说明如下:
(1)方法声明包括方法头和方法体两部分,其中方法头包括修饰符、返回类型、方法名和参数列表,在花括号内的声明部分和语句部分,用于描述方法的功能。
(2)修饰符,表示方法的访问权限。修饰符有private、缺省访问修饰符、protected 和publico
(3)返回类型,为该方法返回值的类型,如该方法没有返回值,则方法的返回类型为void。
(4)变量类型为任意数据类型,在变量类型和变量名之间用“..”表示。其中“..不是省略号,而是定义参数类型的方式
3.可变参数的特点如下:
(1)只能出现在参数列表的最后。
(2) ...”位于变量类型和变量名之间,前后有无空格都可以。
(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组, 在方法体中以数组的形式访问可变参数。