Java的成员方法

小编
小编
小编
172
文章
1
评论
2020-09-3021:10:46 评论 1,704

定义方法

声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型,其结构如图 1 所示。

Java的成员方法图 1  方法组成元素

成员方法一旦被定义,便可以在程序中多次调用,提高了编程效率。声明成员方法的语法格式如下:

    [public|private|protected][static]<void|return_type><method_name>([paramList]) {
        // 方法体
    }

注意:上述语法中,“[]”中的部分表示可以省略,竖线“|”表示“或”,例如 public|private,说明可以使用 public 或 private 关键字,但是两个关键字不能同时出现。

上述代码中一个方法包含 4 部分:方法的返回值、方法名称、方法的参数和方法体。其中 retum_type 是方法返回值的数据类型,数据类型可以是原始的数据类型,即常用的 8 种数据类型,也可以是一个引用数据类型,如一个类、接口和数组等。

除了这些,一个方法还可以没有返回值,即返回类型为 void,像 main() 方法。method_name 表示自定义的方法名称,方法的名称首先要遵循标识符的命名约定,除此之外,方法的名称第一个单词的第一个字母是小写,第二单词的第一个字母是大写,依此类推。

paramList 表示参数列表,这些变量都要有自己的数据类型,可以是原始数据类型,也可以是复杂数据类型,一个方法主要依靠参数来传递消息。方法主体是方法中执行功能操作的语句。其他各修饰符的含义如下。

  • public、private、protected:表示成员方法的访问权限。
  • static:表示限定该成员方法为静态方法。
  • final:表示限定该成员方法不能被重写或重载。
  • abstract:表示限定该成员方法为抽象方法。抽象方法不提供具体的实现,并且所属类型必须为抽象类。

注意:上面所提到的重写、重载和抽象类,会在后续的章节中详细讲解

成员方法分为四类:无参无返回值、无参有返回值、有参无返回值和有参有返回值。

1.无参数无返回值

例1:输出一个由星号*和文字组成的图案。

public class VoidMethod {
	public void printStar() {
		System.out.println("*****************");
	}
	public static void main(String[] args) {
		VoidMethod vm=new VoidMethod();
		vm.printStar();
		System.out.println("你好世界");
		vm.printStar();
	}

}

例1的第2行定义了一个方法printStar,该方法的功能是输出一排星号*。第6行创建一个实例化对象vm,并在第7行通过该对象调用了pintStar方法,第8行输出文字,第9行继续调用。最终输出效果如下:

Java的成员方法

2.无参数有返回值

例2:定义一个方法,要求给定长方形的长和宽计算面积。

public class RetMethod {
	public int area() {
		int length=10;
		int width=5;
		int getArea=length*width;
		return getArea;
	}
	public static void main(String[] args) {
		 RetMethod rm=new RetMethod();
		System.out.println("面积="+rm.area());
	}
}

在例2的第2行中定义了一个方法area,该方法中有三个属性,分别是长、宽和面积,该方法有返回值为getArea,即返回属性getArea的值。在第9行创建实例化对象rm后,在输出语句中通过该对象调用area方法。最新效果如下:

Java的成员方法有参数无返回值

例3:定义一个方法,要求对传递的两个整数进行比较,并将最大者输出。

public class GetMax {
	public void maxnum(int a,int b) {
		int max;
		if(a>b) {
			max=a;
		}
		else {
			max=b;
		}
		System.out.println("最大值是"+max);
	}
	
	public static void main(String[] args) {
		GetMax maxDemo=new GetMax();
		maxDemo.maxnum(10, 2);
	}
}

在例3的第2行定义了一个方法maxnum,不过该方法带有两个参数a和b,谁调用了该方法就传递两个值赋给其参数。第4行起对参数的值进行比较,并将最大者赋给变量max。第14行创建一个实例化对象maxDemo,第15行调用maxnum方法同时传递两个值。

最终效果如下:

Java的成员方法

有参数有返回值

例4:定义一个方法,要求计算给定数的阶乘。

public class FacNum {
	public int fac(int a) {
		int fac=1;
		for(int i=1;i<=a;i++) {
			fac*=i;
		}
		return fac;
	}
	
	public static void main(String[] args) {
		int b=3;
		FacNum facDemo=new FacNum();
		System.out.println(b+"的阶乘="+facDemo.fac(b));
	}
}

例4的第2行定义了一个方法fac,该方法通过for循环实现了求一个数的阶乘。第5行代码也可以用另一种表达式:fac=fac*i。第11行通过定义变量b来设置需要求阶乘的数,第12行创建实例化对象facDemo,第13行的输出语句中调用了fac方法。最终效果如下:

Java的成员方法

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: