Java自学第六课值方法成员——自学笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java自学第六课值方法成员——自学笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3709字,纯文字阅读大概需要6分钟。
内容图文
![Java自学第六课值方法成员——自学笔记](/upload/InfoBanner/zyjiaocheng/852/ab82a8b55b9a4e78a6ca479701af2797.jpg)
方法即行为,方法的声明如下:
【public或者protected或者private】 【static】 【final】 【abstract】 【native】 【synchronized】 【Type{,Type}】返回类型 方法名(【参数列表】)【throws exceptionList】{
方法体
}
方法体中可以声明在该方法内使用的局部变量,这些变量只在该方法内部有效,所以声明变量时不能给他就修饰符,如果非要加修饰符的话只能是fina的。
- public或者protected或者private是访问权限修饰符;static说名这是一个类的方法;final说明这一个终结方法,不能被子类重写;abstract说明这个方法是一个抽象方法;native用来将java代码和其他语言的代码集成起来synchronized用来控制多个并发线程对共享数据的访问
- 方法名前面的类型是方法返回值的类型,返回类型可以是任意的Java数据类型,当一个方法不需要返回值时,返回类型是void。
- 参数的类型可以是简单数据类型,也可以是引用类型(数组、类或接口)。也可以没有参数,参数传递分为值传递和引用传递。
- 方法中声明的局部变量只在方法内部有效
- throws exceptionList用来处理异常
方法分为实例方法和静态方法,和变量一样。
1.实例方法
实例方法表示对象的行为,在声明是前面不加static修饰符,这种方法依赖于对象,使用时需要发送给一个类实例。调用方法通过:
实例(对象).方法名(【参数】);
在不同的类中声明了同名,参数个数和类型相同的方法时,系统会根据接受者对象的类型来找到对应类的方法。也可以说是对象和方法绑定在一起。
2.类方法(静态方法)
类方法也称为静态方法,在方法声明前要加static,这种方法表示该类的实例共有的行为。调用这种方法通过:
类名.方法名();
当然也通过 实例名.方法名();
但是这样需要实例化对象,代码不清晰。花费大。
3.可变长参数
从Java5开始,在方法中可以使用可变长参数,可变长参数使用省略号表示,其实质是数组,例如,String…s表示String[] s
对于可变长参数的方法,传递给可变长参数的实际参数可以是多个对象,也可以是一个对象或者没有对象。参数也可以是基本数据类型。
可变长参数意思是传递参数的长度也就是参数的个数是可以变化的,在没有可变长参数的时候如果要实现参数个数不同时都能响应的话,需要写多个、参数个数不同的方法,但这样代码太多,太麻烦。
1.用数组包裹实参
用数组包裹实参的做法分为三步:首先,为这个方法定义一个数组型的参数;然后调用时,生成一个包含所有要传递的实参的数组;最后,把这个数组作为一个参数传过去。
这种方法可以解决可变长参数的问题,但调用不够简单。
2.可变长参数的方法
Java5新增了可变长参数的方法后,调用显得简单
用以下代码来说明以下
public class LianXi{
public static void main(String[] args) {
System.out.println(getMaxNumber());//不传入任何参数
System.out.println(getMaxNumber(1, 2, 3, 4));//传入可变参数
System.out.println(getMaxNumber(new int[]{4, 3, 24, 6}));//传入数组,因为可变参数的实现就是用数组
System.out.println(getLowerNumberCounts(4, new int[]{2, 3, 5, 7}));
}
/**
* 获取可变长度参数中的最大值
*
* @param nums 可变参数列表
* @return
*/
public static int getMaxNumber(int... nums) { //在类型后面加... 即可定义可变参数
//如果可变参数长度为0
if (nums.length == 0) {
System.out.println("没有传入参数");
return -1;
} else {
int max = nums[0];
for (int i : nums) {
max = (i > max) ? i : max;
}
return max;
}
}
/**
* 获取可变参数列表中比某个数小的个数
*
* @param number 作为基准比较的数
* @param nums 可变长参数列表
* @return
*/
public static int getLowerNumberCounts(int number, int... nums) { //如果一个方法中不止一个参数,那么可变参数列表必须放到最后
int count = 0;
for (int i : nums) {
if (i < number)
count++;
}
return count;
}
}
/*没有传入参数
-1
4
24
2
*/
从结果中可以看出当调用方法没有传递参数时,程序不会报错,然而如果我们调用的方法不是一个可变长参数的方法,而是调用的一个需要传参数的普通方法,那么如果我们不传参数,程序在写的过程中就会报错。这是为什么呢?。
还有传递数组的,为什么数组作为参数的时候也可以。
这是因为,可变长参数的实质就是把参数包裹成数组,然后作为参数传递。没有参数的时候,也就是数组中没有元素,但是数组还在,数组作为参数的时候更是可以了,接收后,操作元素就像操作数组中 的元素一样。
最后要说的是,对象作为参数的时候,传递的是引用,即实参是引用,形参是引用变脸,在方法中使用形参变量访问就和方法外部一样
内容总结
以上是互联网集市为您收集整理的Java自学第六课值方法成员——自学笔记全部内容,希望文章能够帮你解决Java自学第六课值方法成员——自学笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。