JAVA函数的定义、使用方法实例分析

所属分类: 软件编程 / java 阅读数: 47
收藏 0 赞 0 分享

本文实例讲述了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

更多关于java相关内容感兴趣的读者可查看本站专题:《Java常用函数与方法技巧汇总》、《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多