Java语言中的值传递(2)

    作者:课课家教育更新于: 2016-01-20 15:55:51

    大神带你学编程,欢迎选课

      2、引用类型

      引用类型传递的是虚地址。

      如下程序:

    Java语言中的值传递(2)_java手游开发_java网站空间_课课家

      package com.csst.test;

      public class Test6 {

      /**

      * @param args

      */

      public void printName(Student stu){

      System.out.println("printName: name is "+stu.getName

      ());

      }

      public void printPwd(Student stu){

      stu.setPwd("abcdef");

      System.out.println("printPwd: pwd is "+stu.getPwd());

      }

      public static void main(String[] args) {

      // TODO Auto-generated method stub

      Test6 test6=new Test6();

      Student stu1=new Student("Rose");

      test6.printName(stu1);

      System.out.println("main: name is "+stu1.getName());

      Student stu2=new Student("John","123");

      test6.printPwd(stu2);

      System.out.println("main: pwd is "+stu2.getPwd());

      }

      }

      class Student{

      private String name;

      private String pwd;

      public String getPwd() {

      return pwd;

      }

      public void setPwd(String pwd) {

      this.pwd = pwd;

      }

      public Student() {

      super();

      }

      public Student(String name) {

      super();

      this.name = name;

      }

      public Student(String name, String pwd) {

      super();

      this.name = name;

      this.pwd = pwd;

      }

      public String getName() {

      return name;

      }

      public void setName(String name) {

      this.name = name;

      }

      }

      运行结果为:

      printName: name is Rose

      main: name is Rose

      printPwd: pwd is abcdef

      main: pwd is abcdef

      在该类main方法中,将stu1和stu2传递给printName,printPwd时,是将 stu1,stu2的虚地址传递给了对应的方法参数。因此,在printName,printPwd中 打印出的name和pwd,与main中打印的name和pwd永远相同,尤其在printPwd方法 中,通过参数改变了其pwd属性后,main方法中的stu2的pwd属性也随之变化,足 以说明stu2与printPwd的参数本质上是一个对象。

      通过本篇学习,可以基本了解java语言中值传递的特征,进一步,初学者可 以继续学习类与类之间的关系。

课课家教育

未登录