`
ft1974083
  • 浏览: 887 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

java备忘录

阅读更多
写下这篇文章的时候只感到汗颜。 好久没有复习java基础了。这个都有点搞不清楚了。算是对自己的一种鞭策吧。

java中的值传递和引用传递
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。
下面举例说明:
传值---传递基本数据类型参数
public    class           PassValue{
    static void exchange(int a, int b){//静态方法,交换a,b的值
        int temp;
        temp = a;
        a = b;
        b = temp;
    }
    public static void main(String[] args){
       int i = 10;
       int j = 100;
       System.out.println("before call: " + "i=" + i + "\t" + "j = " + j);//调用前
        exchange(i, j);                                                                    //值传递,main方法只能调用静态方法
        System.out.println("after call: " + "i=" + i + "\t" + "j = " + j);//调用后
    }
}
运行结果:
        before call: i = 10        j = 100
        after    call: i = 10        j = 100
说明:调用exchange(i, j)时,实际参数i,j分别把值传递给相应的形式参数a,b,在执行方法exchange()时,形式参数a,b的值的改变不影响实际参数i和j的值,i和j的值在调用前后并没改变。
引用传递---对象作为参数
如果在方法中把对象(或数组)作为参数,方法调用时,参数传递的是对象的引用(地址),即在方法调用时,实际参数把对对象的引用(地址)传递给形式参数。这是实际参数与形式参数指向同一个地址,即同一个对象(数组),方法执行时,对形式参数的改变实际上就是对实际参数的改变,这个结果在调用结束后被保留了下来。
class Book{
    String name;
    private folat price;
    Book(String n,    float ){                //构造方法
        name = n;
        price = p;
    }
    static  void  change(Book a_book,    String n,    float p){    //静态方法,对象作为参数
            a_book.name = n;
            a_book.price = p;
    }
    public void output(){        //实例方法,输出对象信息
        System.out.println("name: " + name + "\t" + "price: " + price);
    }
}
public class PassAddr{
    public static void main(String [] args){
        Book b = new Book("java2",    32.5f);
        System.out.print("before call:\t");        //调用前
        b.output();
        b.change(b,    "c++",    45.5f);            //引用传递,传递对象b的引用,修改对象b的值
        System.out.print("after call:\t");            //调用后
        b.output();
    }
}
运行结果:
        before    call:    name:java2        price:32.5
        after       call:    name:c++          price:45.5
说明:调用change(b,"c++",45.5f)时,对象b作为实际参数,把引用传递给相应的形式参数a_book,实际上a_book也指向同一个对象,即该对象有两个引用名:b和a_book。在执行方法change()时,对形式参数a_book操作就是对实际参数b的操作。
分享到:
评论

相关推荐

    日历备忘录Java源码

    在本项目中,"日历备忘录Java源码" 提供了一套完整的日历应用程序的源代码,主要由四个核心文件组成:NotePad.java、CalendarPad.java、Month.java 和 Year.java。这些文件分别代表了备忘录、日历、月份和年份的功能...

    java 备忘录

    Java备忘录系统是一个使用Java编程语言开发的应用程序,它旨在提供一个用户友好的界面,让用户可以方便地创建、编辑和管理个人的备忘事项。这个系统的核心功能可能包括添加新备忘、删除旧备忘、修改现有备忘以及搜索...

    Java设计模式-备忘录

    下面是一个简单的Java备忘录模式示例: ```java // 发起人角色 class Originator { private String state; public Originator(String state) { this.state = state; } // 创建备忘录 public Memento ...

    java备忘录编写源代码及运行界面截图.doc

    Java备忘录编写源代码及运行界面截图 本文主要介绍 Java 编程语言中一个备忘录的源代码实现,包括界面设计和事件监听器的使用。下面是相关知识点的详细解释: 1. Java Swansea import 语句 在 Java 中,import ...

    java实现备忘时钟

    总结一下,实现一个Java备忘时钟需要以下步骤: 1. 理解和使用`java.time`包处理日期和时间。 2. 设计`Reminder`类和存储结构。 3. 使用`Timer`和`TimerTask`创建定时检查机制。 4. 创建基于Swing的GUI,包括时间...

    java备忘录编写源代码及运行界面截图.pdf

    【Java 备忘录应用程序开发】\n\nJava备忘录编写源代码涉及到构建一个用户界面,用于创建和管理个人备忘录。该程序使用Java Swing库来设计图形用户界面(GUI),并实现了基本的登录功能,具备背景图片、验证码以及...

    java 备忘录编写源代码及运行界面截图.pdf

    【Java 备忘录应用开发】 在Java编程中,我们可以创建一个备忘录应用程序来帮助用户记录和管理他们的日常事务。以下是一个简单的备忘录应用的源代码概述,主要涉及Swing库用于构建图形用户界面(GUI)。 首先,我们...

    java 备忘录编写源代码及运行界面截图.doc

    【Java 备忘录应用程序开发】 在Java编程中,创建一个备忘录应用程序涉及到用户界面设计、事件处理以及数据管理等多个方面。以下是对提供的代码片段的解析和相关知识点的详细说明: 1. **基础组件与布局**: - `...

    毕业设计基于JavaWeb实现的一个备忘录系统项目源码.zip

    毕业设计基于JavaWeb实现的一个备忘录系统项目源码。难度适中,新手自己可操作 备忘录 介绍 后端部分基于Servlet、Jdbc实现. 前端部分基于Layui、jqury实现。 一个简单的前后端分离Demo,前后端交互JSON数据格式 ...

    用JAVA编写的备忘录

    用JAVA编写的备忘录, 可以记录下你每天做的事情,可以查看你以前做的事情,很有帮助

    java+Mysql开发的备忘录系统

    在本项目中,我们讨论的是一个使用Java编程语言与MySQL数据库进行开发的备忘录系统。这个系统的主要目标是提供一套便捷的工具,让用户能够轻松地管理他们的日常事务,包括创建、编辑、查找和删除备忘录。同时,系统...

    java设计模式-备忘录模式源代码

    在Java中,备忘录模式通常包括三个关键角色:原始对象(Originator)、备忘录(Memento)和管理者(Caretaker)。原始对象是需要保存状态的对象,它创建并存储在备忘录中的状态。备忘录负责存储原始对象的状态,而...

    Java日历及备忘录

    Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...

    java课设--个人备忘录管理系统

    在本项目中,"java课设--个人备忘录管理系统"是一个基于Java编程语言实现的课程设计项目,旨在提供一个方便用户记录、管理和检索个人备忘录的应用程序。这个系统通常包括用户界面、数据存储、备忘录的增删改查等功能...

    java备忘录万年记事薄

    万年记事薄,左边是年历,右边是记事簿,记事可删除,查看,周六 周日的颜色有点特殊,要细看奥,

    备忘录日程管理java代码

    本项目名为"备忘录日程管理java代码",它是一个基于Java的软件,主要功能集中在帮助用户进行备忘录记录和日程管理。下面我们将深入探讨这个项目涉及到的关键知识点。 1. **Java基础**: - **面向对象编程**:Java...

Global site tag (gtag.js) - Google Analytics