Java函数

一、参数
在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<String>, 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;
    }
    ...
    }

java基础
对java基础一些理解

学海无涯苦做舟,书山有路勤为径。

0 声望
0 粉丝
0 条评论
推荐阅读
Spring ApplicationContext启动方式
1.ContextLoaderListener1.1.ContextLoaderListener源码 {代码...} ServletContextListener源码: {代码...} ContextLoader: 用于spring 容器初始化类 {代码...} 1.2.流程2.springBoot方式2.1.流程2.2.ServletWeb...

程序猿老徐阅读 470

Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft32阅读 27.4k评论 1

一文彻底搞懂加密、数字签名和数字证书!
微信搜索🔍「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍来源:个人CS学习网站:[链接]前言这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视...

编程指北71阅读 33.4k评论 20

Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft28阅读 19.2k评论 3

Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft13阅读 21.7k

Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft20阅读 15.3k

Java13的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft17阅读 11.1k

学海无涯苦做舟,书山有路勤为径。

0 声望
0 粉丝
宣传栏