千家信息网

Java中引用类型和值类型的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关Java中引用类型和值类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.值类型传值,引用类型传引用Demo:public class
千家信息网最后更新 2026年11月03日Java中引用类型和值类型的示例分析

这篇文章给大家分享的是有关Java中引用类型和值类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1.值类型传值,引用类型传引用

Demo:

public class ReferDemo {

//public int x=10;

/**
* @param args
* primitive type: number boolean type;
* refer type :class 数组
*/

public static void main(String[] args) {
// TODO Auto-generated method stub


//值类型传值,引用类型传引用,不改变原值

int x=1;
set(1);
System.out.println("x:"+x);

String y="y";
set(y);
System.out.println("y:"+y);

//数组是引用类型
String[] a=new String[1];
a[0]="a[0]";
set(a);
System.out.println(a[0]); //out-print: "a[0]<----"

}

public static void set(int x){
x=x+1;
}

public static void set(String x){
x=x+"^_^";
}

public static void set(String[] s){
s[0]+="<----";
}
}


Output:

x:1 int 是值类型 primitive
y:y string 是特殊的引用类型,用法和值类型一致
a[0]<---- 数组是引用类型

2.并不是所有object都是按引用传地址的,比如:

Demo:


public class SwapParameter {

/**
* summary:
* 1.方法不能改变值类型参数的值
* 2.方法能改变对象类型参数的属性状态
* 3.方法不能将对象参数引用到一个新的对象
* ------------------------------------

原文《Core Java 8th.》
* This discussion demonstrates that the Java programming language does not use call by refernce for objects.
* Instead, [object reference are passed by value];
* A method cannot modify a parameter of primitive type(this is,number or boolean values).
* A method can change the state of an object parameter.
* A method cannot make an object parameter refer to a new object.
* @author Fly_Lv.
*
*/

public static void main(String[] args) {
// TODO Auto-generated method stub
Sts s1=new Sts("Lv");
Sts s2=new Sts("Fi");
System.out.println("Before swap()");
System.out.println("s1.name="+s1.name);
System.out.println("s2.name="+s2.name);
swap(s1,s2);
System.out.println("After swap()");
System.out.println("s1.name="+s1.name);
System.out.println("s2.name="+s2.name);
}

public static void swap(Sts s1,Sts s2){
Sts tmp=s1;
s1=s2;
s2=tmp;
}
}

class Sts{
protected String name;
public Sts(String name){
this.name=name;
}
}

Output:

Before swap()
s1.name=Lv
s2.name=Fi
After swap()
s1.name=Lv
s2.name=Fi

感谢各位的阅读!关于"Java中引用类型和值类型的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

类型 参数 对象 数组 方法 示例 分析 内容 更多 篇文章 不错 实用 特殊 一致 原值 原文 地址 属性 文章 状态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网巨头科技公司 互联网下的科技发展 奇士达互联网科技 唐信互联网科技 大连 互联网科技公司名称 银川新华互联网科技职业技术培训学校图片 科技与互联网哪个更好 互联网公司黑科技创始人 美国互联网科技公司 图游互联网科技 宁波跨境商互联网科技有限公司 江苏互联网智能科技产品出厂价 互联网科技平台产品运营 互联网界的黑科技 北京天晋互联网科技有限公司 米泉互联网科技专业怎么样 第三届互联网大会安防黑科技 现代互联网科技公司 小牛互联网科技有限公司地址 互联网科技公司起名 云信互联网科技有限公司 中关村互联网科技集团 互联网科技深圳 银优互联网科技有限公司 宁夏科技产业互联网案例 广州市恰铎互联网科技有限公司 互联网科技资金流入 科技互联网专业务虚会材料 互联网科技创业计划的风险分析
0