java 内部类 小程序

136关注439浏览

如下的程序输出a的值为什么没有变?
public class InnerClass {
public InnerClass(){
Inner s1 = new Inner();
s1.a = 10;
Inner s2 = new Inner();
s2.a = 20;
InnerClass.Inner s3 = new InnerClass.Inn

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 暗恋未遂

    20人对此回答表示赞同

    s1是个物件,内有a这个变数,经过s1.a=10被改成10
    s2是个物件,内有a这个变数,经过s2.a=20被改成20

    要改class inner内的参数
    class Inner(int x){
    public int a=5;
    a = x;
    }
    就能修改Inner内的a
    展开
    20
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • n港kiki

    15人对此回答表示赞同

    这个很简单啊,
    你输出的一共有两条语句,一个是构造函数中的s3.a,一个是主方法中的r.a。
    s3.a和 r.a你并没有赋值,只是将a的值输出。
    你想问的是s1.a和s2.a中已经赋值,但是这两个实例和你要输出的两个值没有影响,你并没有要输出s1.a和s2.a啊。
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 春暖花不开

    13人对此回答表示赞同

    你没改变 s3和 r 对象的 a 属性的值, 他怎么变化啊,
    你只改变了 s1.a,s2.a, 但又没有输出 追问
    展开
    13
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 楚云潇雨

    7人对此回答表示赞同

    你对对象和类的概念有些,模糊,好好看看概念!你改s1 s2的参数 s3没改而你打印的是s3的 main里的对象参数没有重新赋值直接打印了。
    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部