zoukankan      html  css  js  c++  java
  • JAVA 将对象引用作为参数修改实例对象参数 初学者笔记

    JAVA采用“按值调用”,所有方法得到的仅仅是参数值的一个副本。

    public class ParamTest
    {
       public static void main(String[] args)
       {
          System.out.println("
    Testing tripleSalary:");
          var harry = new Employee("Harry", 50000);
          System.out.println("Before: salary=" + harry.getSalary());
          tripleSalary(harry);//传入值的副本,即引用Employee对象的副本
          System.out.println("After: salary=" + harry.getSalary());
    
       }
    
       public static void tripleSalary(Employee x)
       {
          x.raiseSalary(200);
          System.out.println("End of method: salary=" + x.getSalary());
          //此操作过后参数变量x将不再使用,
          // 但x与harry所共同引用的对象Employee的参数的值将发生改变
       }
    
    
    class Employee
    {
       private String name;
       private double salary;
    
       public Employee(String n, double s)//我是一个构造器方法
       {
          name = n;
          salary = s;
       }
    
       public String getName()//我是一个访问器方法
       {
          return name;
       }
    
       public double getSalary()//我是一个访问器方法
       {
          return salary;
       }
    
       public void raiseSalary(double byPercent)//我是一个更改器方法
       {
          double raise = salary * byPercent / 100;
          salary += raise;
       }
    }
    

       /*更改器方法:调用这个方法后,对象的参数值(状态)会改变,我们称之为更改器方法*/
       /*访问器方法:只访问对象而不修改对象的方法,我们称之为更改器方法*/
      /*构造器方法:构造器方法于类同名,总是配合new运算符调用,在构建其类的对象时构造器会运行,并将实例字段初始化为理想状态*/

  • 相关阅读:
    java内部类
    navicat使用教程-PJ
    提交代码时的注意事项
    多线程技术
    Apache POI使用详解
    网站链接收藏夹
    MySQL优化
    Oracle创建用户、角色、授权、建表
    oracle 安装提示未找到文件安装
    Json对象与Json字符串的转化、JSON字符串与Java对象的转换
  • 原文地址:https://www.cnblogs.com/MR---Zhao/p/12576963.html
Copyright © 2011-2022 走看看