什么是方法:解决一类问题的功能模块
一个类中有两种东西:属性,方法
属性类似于:身高,体重
方法类似于:睡觉,吃饭
方法调用
1.对象名.方法名
2.类名.方法名
声明
访问修饰符 返回类型 方法名(参数列表){
方法体
}
方法重载:方法名相同 ,参数列表不同(数量,类型)
public class AreaDemo { //求长方形面积方法 public int area(int a,int b) { return a * b; } public double area(double a,double b) { return a * b; } //求圆的面积 public double area(double a ) { return Math.PI * a *a ; } public double area(int a ) { return Math.PI * a *a ; } public static void main(String[] args) { AreaDemo ad = new AreaDemo(); System.out.println("圆的面积为:" + ad.area(4.5)); System.out.println("长方形的面积为:" + ad.area(8,5)); } }
方法的传值问题:
基本数据类型:方法中值的改变,并不影响主方法中的值
引用数据类型:如数组 方法中改变其中一个元素的值,那么主方法中的数组元素也发生改变.
基本数据类型:
public class ChuanDemo { //交换位置 public void change(int a,int b) { int temp = a; a = b; b = temp; System.out.println("方法中:a="+ a + " b=" + b ); } public static void main(String[] args) { int a = 10; int b = 20; ChuanDemo cd = new ChuanDemo(); System.out.println("调用方法前的值:a="+ a + " b=" + b ); cd.change(a, b); System.out.println("调用方法后的值:a="+ a + " b=" + b ); } }
调用方法前的值:a=10 b=20
方法中:a=20 b=10
调用方法后的值:a=10 b=20
数组传值:
public class ArrayDemo { //遍历输出数组元素 public void arr(int[] b) { for(int x:b) { System.out.print(x + " "); } } //改变数组中的第3个元素 public void change(int[] a) { a[2] = 5; System.out.print(" 方法中数组为:"); arr(a); } public static void main(String[] args) { int a[] = {1,5,4,6}; ArrayDemo ad = new ArrayDemo(); System.out.print("调用方法前数组为:"); ad.arr(a); ad.change(a); System.out.print(" 调用方法后数组为:"); ad.arr(a); } } 调用方法前数组为:1 5 4 6 方法中数组为:1 5 5 6 调用方法后数组为:1 5 5 6
可变参数列表:参数的数量不确定,是可变的
public void search(int...n){}
一个方法中只能有一个可变参数列表,如果有多个参数,可变参数一定要放在最后
可以将数组传入可变参数列表,反之不行
可变参数重载:可变参数列表所在的方法是最后被访问的
public class AreaDemo { // 求长方形面积方法 public int area(int a, int b) { System.out.println("调用基本数据类型:"); return a * b; } public int area(int... b) { int pro = 1; for (int i = 0; i < b.length; i++) { pro *= b[i]; } System.out.println("调用基本数据类型:"); return pro; } public static void main(String[] args) { AreaDemo ad = new AreaDemo(); int are = ad.area(4,5); System.out.println("圆的面积为:" + are); } 调用基本数据类型: 圆的面积为:20
文档注释:/**注释内容 */
运行 CMD 生成文档注释
F:workspaceStudysrccomfour>javadoc -d doc SearchDemo.java
正在加载源文件SearchDemo.java...
正在构造 Javadoc 信息...
正在创建目标目录: "doc"
标准 Doclet 版本 1.8.0_162
正在构建所有程序包和类的树...
正在生成doccomfourSearchDemo.html...
正在生成doccomfourpackage-frame.html...
正在生成doccomfourpackage-summary.html...
正在生成doccomfourpackage-tree.html...
正在生成docconstant-values.html...
正在构建所有程序包和类的索引...
正在生成docoverview-tree.html...
正在生成docindex-all.html...
正在生成docdeprecated-list.html...
正在构建所有类的索引...
正在生成docallclasses-frame.html...
正在生成docallclasses-noframe.html...
正在生成docindex.html...
正在生成dochelp-doc.html...