所以在最后一个输出中调用的是父类的g函数,输出9.也就是说静态函数是不会被重写的,覆盖的.
因为你的list里面全部装的都是最后一条数据,你上部分输出正常是因为你是每次add就输出你add的值,如果你在上部分遍历一下list就会发现list里面的值全部是一样的。原因:list.add(res)时,res改变,list里面所有存的res值都会改变,因为res的地址相同。如果你想要值不同把String[] res = new String[...
} System.out.println ("[输出] " + line );当while循环readLine出所有行结束时,最后一行的值就是line,这时候你输出line就可以了~while循环的这个过程是必须的,虽然while内部并未执行任何操作。
另一种方法是使用字符数组。同样以"snasdss"为例,可以通过以下代码实现:String str = "snasdss";System.out.println(str.toCharArray()[str.toCharArray().length - 1]); // 输出 "s"首先将字符串转换为字符数组,然后访问数组的最后一个元素。这种方法直接获取最后一个字符,简单直观。这两种方法...
而这个循环的作用只是把这个aaa对象的值变来变去,linkedList 里面存放的是同一个对象,放了三次。结束后,这个对象的值,就是aaa最后的值,它的name是2,跟下面的循环没什么关系 ,要想达到你要的效果必须这样:AAA aaa = new AAA();for(int i=0;i