zoukankan      html  css  js  c++  java
  • JAVA:函数的定义、使用

     


    本文内容:

    • 什么是函数
    • 函数的定义格式
    • 函数的重载(overload):
    • 函数的调用使用注意
    • 关于形式参数的使用

     

    首发时间:2017-06-23

    修改时间:2018-03-21:修改了布局,修改了一些标题名称,小修改了一些文字描述


    什么是函数

    • 在java中函数是定义在类中的具有特定功能的一段代码【由于java是完全面向对象的,函数也可以认为是一个对象类的行为】
    • 函数也可以称为方法


    函数的定义格式:

    • 格式:
      • image
      • image
    • 介绍:
      • 修饰符:
        • 访问权限修饰符  :
          • public:函数是公共的,不同包的其他类也可以访问
          • 友好权限:默认是不填,同一个包下的类能够访问,不同包的不能访问
          • protect:保护的函数,自己以及子类可以访问,但其他类不能访问
          • private:私有的函数,其他类不能访问
        • 类型修饰:
          • static:函数是静态的,当类初始化就生成,可以直接使用类来调用
      • 返回值类型:函数返回值的类型,是数据类型
      • 函数名:函数的名称
      • 参数类型 形式参数:形式参数用于传入指定参数来执行操作
      • 返回值:函数可以返回一个值,比如a=函数名(),那么a可以赋值为函数的返回值
    package function_usage;
    
    public class Demo {
         static void function2(int a) {
            System.out.println("function2,"+a);
        }
         void functio1() {
             System.out.println("function1");
         }
        public static void main(String args[]) {
            function2(5);
        }
    
    }
    
    /**
     
    修饰符 返回值类型 函数名 ([参数类型 形式参数1,参数类型 形式参数2......]){
            执行语句
            [return 返回值]
    }
    
    public static void main(String args[]){
    
        System.out.println("hello world");
        System.out.println("hello world");
        
    }
    
    */

    函数的重载(overload):

     

    • 可以有多个同名的函数,但参数个数或参数类型不同,称为函数重载。
    • 重载方便了程序的设计,比如:要设计一个加法函数,名字都可以定义为add,但重载使add可以根据参数的不同来选择不同的重载函数,当形式参数为三个int时,会选择add(int a,int b,int c),而不是add(int a,int b)
      • package function_usage;
        
        class Calc{
            int add(int a,int b) {
                return a+b;
            }
            int add(int a,int b ,int c) {
                return a+b+c;
            }
            double add(double a ,double b) {
                return a+b;
            }
        }
        
        public class Overload_usage {
            public static void main(String args[]) {
                Calc c=new Calc();
                int a=c.add(1,2);
                int b=c.add(1, 2,3);
                double d=c.add(1.2,3.4);
                System.out.println(a);//3
                System.out.println(b);//6
                System.out.println(d);//4.6
            }
        
        }

    重载函数的格式:

    • 1.同返回值类型,不同参数。
      • int add(int x,int y)
      • int add(int x,int y,int z)
      • int add(double x,double y)
    • 2.不同返回值类型,不同参数。
      • int add(int x,int y)
      • double add(int x,int y,int z)
    • 总而言之--必须不同参数(个数或数据类型不同)。
    • 注意:不同返回值类型,同参数。//不行,因为可能会引起调用的不确定性。
      • 比如:
      • int add(int x,int y)
      • double add(int x,int y)
      • 那么究竟是使用哪个呢,无法确定。


    函数的调用使用注意:

    1.实例函数既能对类变量操作也能对实例变量操作,而类函数(static)只能对类变量进行操作。

    因为它们生命周期不同。 类方法类创建的时候就创建了,而实例变量只有实例对象创建时才创建。

     

    2.实例函数可以调用该类中的其他函数包括类函数,类中的类函数只能调用该类的类函数。


    关于形式参数的使用:

     

    数据类型转换:

    参数中,可以把小的类型的值传给大的类型作为参数

    1.基本数据类型:对于基本数据类型的参数,向该参数传递的值类型级别不可以大于该参数的类型级别(不可以向int传递float,可以向double传递float)

    2.引用类型:引用类型可以传递成它的父类或祖先类,比如Object是所有类的父类,所有类对象都可以使用Object类型的形式参数来接收

     

    可变参数情况:

    在最后一个形参的类型之后增加三点...,则表明该形参可以接受多个参数值,多个参数值被当成数组传入。

    但个数可变的形参,只能处于形参列表的最后一项,所以一个方法中最多只能有一个长度可变的形参

    如:

    image

     

     


  • 相关阅读:
    TextVew中文空格
    java中String字符串的替换函数:replace与replaceAll的区别
    朝花夕拾
    Eclipse启动时卡死在"Android SDK: Resolving error markers"的解决方法
    签名“未签名”apk文件命令
    TODO
    完全卸载AndroidStudio
    Gradle
    经受时间沉淀的15 个 Android 通用流行框架大全
    jquery 获取 新添加元素 点击后 的子元素
  • 原文地址:https://www.cnblogs.com/progor/p/7071586.html
Copyright © 2011-2022 走看看