zoukankan      html  css  js  c++  java
  • Java_方法

    什么是方法:解决一类问题的功能模块
      一个类中有两种东西:属性,方法
      属性类似于:身高,体重
      方法类似于:睡觉,吃饭
    方法调用
      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...

  • 相关阅读:
    OC面向对象—封装
    OC内存管理
    OC方法和文件编译
    OC语言基础知识
    OC语言前期准备
    C语言指针基础
    C语言字符串
    C语言数组
    C语言内存分析
    C语言函数
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/9211716.html
Copyright © 2011-2022 走看看