美文网首页工作点滴
Java方法易错点(一)

Java方法易错点(一)

作者: 风雪_夜归人 | 来源:发表于2020-03-07 22:42 被阅读0次

代码:

public class Point {
    int x ;
    int y ;
}
public class TestPoint {

    public void change(Point point){
        point.x = 3;
        point.y = 4;
    }

    public static void main(String[] args) {

        TestPoint testPoint = new TestPoint();
        Point point = new Point();

        testPoint.change(point);
        System.out.println(point.x);
        System.out.println(point.y);

    }
}
----------------------------------------------------------------------------
结果:
x的值为:3
y的值为:4

修改下代码:

public class Point {
    int x ;
    int y ;
}
public class TestPoint {

    public void change(Point point){
        point = new Point();
        point.x = 3;
        point.y = 4;
    }

    public static void main(String[] args) {

        TestPoint testPoint = new TestPoint();
        Point point = new Point();

        testPoint.change(point);
        System.out.println(point.x);
        System.out.println(point.y);

    }
}
----------------------------------------------------------------------------
结果:
x的值为:0
y的值为:0

总结:

因为方法中新增的“point = new Point();”代码,新增了一个Point的对象。所以是给新的对象的x,y分配赋值。而main方法中的print打印的还是之前的Point对象,直接调用Point类中x,y的值。

示例图:(方法接收了point类型的对象,这个时候point还是指向main方法中的new Point,后来change方法自己new了一个point对象,就把point引用指向从main方法中的new Point对象改为change方法的new Point()对象)

image.png

相关文章

  • Java方法易错点(一)

    代码: 修改下代码: 总结: 因为方法中新增的“point = new Point();”代码,新增了一个Poin...

  • Java方法易错点(二)

    代码: 总结: 这个与我上次介绍的一相反。上次是指向不同对象。这次是不同引用指向同一个对象,因此结果为张飞。

  • 猿学-spring 事物传播机制一些易错点,看到请饶坑走

    spring 事物传播的一些易错点 在spring中采用tx方式配置 rollback-for="java.lan...

  • 易错点

    rate_ave=1042.00/793 而非rate_ave=1042/793if rate>=rate_av...

  • 易错点

    泛型 泛型约束使用extends而非implements 泛型类型没有多态的说法,所以出现了?通配符 泛型方法必须...

  • 我的Java散乱易错点

    一两个月没碰Java了(贪玩),Java挺像C++的。我预习了一点,现在回想一下,打算记一下一些自己容易疏忽的东西...

  • 四级备考笔记

    易错点 NOT!!

  • Java面试题集一

    总结了一下Java面试易错的几个题目 一、java中String,StringBuffer与StringBuild...

  • java 中一些易错的点

    这个(output +10) == 20 在作为判断的条件 是一个变量周期? 有变量周期的??? ==== ...

  • Rx java易错

    1.CompositeSubscription调用过一次.unsubscribe()方法以后,不能再使用,需要新建...

网友评论

    本文标题:Java方法易错点(一)

    本文链接:https://www.haomeiwen.com/subject/uidkdhtx.html