JUC-传值

2020-02-25  本文已影响0人  GIT提交不上

  栈管运行,堆管存储。传值示例如下:

 /**
 * @author luffy
 **/
@Data
class Person{
    String name;
    int age;
    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }
}
public class TransferValueDemo {
    public void changeAge(int age){
        age = 30;
    }

    public void changeName(Person person){
        person.setName("xxx");
    }

    public void changeName2(String name){
        name = "abc";
    }

    public static void main(String[] args){
        TransferValueDemo demo = new TransferValueDemo();
        int age = 20;
        demo.changeAge(20);
        System.out.println(age);
        Person person = new Person("hello",2);
        demo.changeName(person);
        System.out.println(person.getName());

        String str = "xxx";
        demo.changeName2(str);
        System.out.println(str);

    }
}
引用类型 & String类型

  字符串常量池-位于Java堆(jdk1.7以后)。如下代码创建了几个对象:

String str=new String("abc"+"def");
上一篇 下一篇

猜你喜欢

热点阅读