资讯专栏INFORMATION COLUMN

Java函数

DevTalking / 2183人阅读

摘要:类似上面的函数中参数,传递的为对象的地址可以对该对象内部的非属性进行修改。如果是函数,当调用时,内部的操作不会影响外部变量。这是函数参数按照值传递的方式来运行。基本数据类型的包装类他们的值是不可变的。

一、参数
在java函数中,参数类型分为按引用传递和按值传递。

public class Person{
   private String name;
   
   private int age ;

   public void change(Person person){
        person.name=person.getName()+"-change";
        person.age=person.getAge()+1;
   }

   public static void changeStr(String str){
          str="123";
   }
}

类似上面的change函数中参数person,传递的为Person对象的地址

Person person = new Person();

可以对该对象内部的非final属性进行修改。

如果是changeStr函数,当调用Person.changeStr(str)时,内部的操作不会影响外部变量str。
当str为person.getName()时,也不会改变。这是函数参数按照值传递的方式来运行。

tip:
对于String,Integer。。(基本数据类型的包装类)他们的值是不可变的。所以传递时按照值传递来进行。
附String源码:

public final class String
    implements java.io.Serializable, Comparable, CharSequence {
    /** The value is used for character storage. */
    private final char value[];

    /** Cache the hash code for the string */
    private int hash; // Default to 0
    
    ...
    public String(String original) {
        this.value = original.value;
        this.hash = original.hash;
    }
    ...
    }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71334.html

相关文章

  • Java 8函数式编程》作者Richard Warbourton:Java的亮点不是语言本身

    摘要:根据对社区和新特性的深刻理解,他创作了函数式编程一书。问你在伦敦社区的经历是否帮助你创作了函数式编程这本书绝对是这样。我认为引入函数式编程会为很多编程任务提供方便。问之前的是面向对象的,现在全面支持函数式编程。 非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/199271 Richard Warburto...

    mzlogin 评论0 收藏0
  • Java 8 vs. Scala(一): Lambda表达式

    摘要:编程语言将函数作为一等公民,函数可以被作为参数或者返回值传递,因为它被视为对象。是表示已注释接口是函数接口的注释。如果一个函数有一个或多个参数并且有返回值呢为了解决这个问题,提供了一系列通用函数接口,在包里。 【编者按】虽然 Java 深得大量开发者喜爱,但是对比其他现代编程语言,其语法确实略显冗长。但是通过 Java8,直接利用 lambda 表达式就能编写出既可读又简洁的代码。作者...

    yuanxin 评论0 收藏0
  • Java到Swift

    摘要:函数的定义形如函数可以返回多个返回值,这个功能真是太猛了。支持函数类型,根据输入参数和返回值确定一个函数类型。例如函数的参数可以另外一个函数,注意,不是另外一个函数的返回值,而是另外一个函数,只要类型符合即可。 我们学习的新事物时,通常并不是从0开始,而是从已知开始,将新事物与已知的进行比较分析,从而快速全面地了解新事物。而我熟悉Java,所以在学习Swift时,就会将Swift与Ja...

    lemon 评论0 收藏0
  • 3. 第一个 Java 程序 - Hello World 【连载 3】

    摘要:需要注意的地方输入法状态调整为英文状态代码的缩进不要忘记分号下面图片标注内容。语句语句是程序最小的一个执行单位,像一个指令,程序中,必须使用一个英文分号结束一条语句。建议,第一个简单的程序,我已经详细的为你做了演练与解释。 在上一篇文章 【[准备编译环境】]()中我们完成了 Java 编译环境的搭建,这篇文章内容主要是来教你怎么开始编写第一个 Java 程序,并运行它。 分为两个步骤,...

    shevy 评论0 收藏0
  • Java 8怎么了之二:函数和原语

    摘要:本文主要介绍了中的函数与原语,由国内管理平台编译呈现。原语与对象语言毫无关系。对象函数有个方法叫,返回数字化原语的方法被称为,或。你可以创建函数的特殊形式,使用原语,而不是对象。 【编者按】本文作者为专注于自然语言处理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主讲 Java 软件开发的书籍,自2008开始供职于 Alcatel-Lucent 公...

    asoren 评论0 收藏0
  • Java 8怎么了:局部套用vs闭包

    摘要:本文主要介绍了中的闭包与局部套用功能,由国内管理平台编译呈现。譬如,认为给带来了闭包特性就是其中之一。但是首先,我们将考虑如何利用闭包进行实现。很显然,闭包打破了这一准则。这就是局部调用,它总是比闭包更为稳妥。 【编者按】本文作者为专注于自然语言处理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主讲 Java 软件开发的书籍,自2008开始供职于 ...

    3fuyu 评论0 收藏0

发表评论

0条评论

DevTalking

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<