黄炳期 发表于 2013-11-5 08:34
帖子已重新分类,如果问题还没有解决,可重新提问
李新辉 发表于 2013-11-5 11:06
经常打不开论坛……
烦死了……
黄炳期 发表于 2013-11-5 11:11
不会啊,我就是用360浏览器的,正常的
寻丶丶觅 发表于 2013-11-4 23:39
class Super
{
int i = 20;
Clare0621 发表于 2013-11-5 00:15
程序一:子类中并未定义成员变量,static int i = 4,定义了一个静态变量或叫类变量。因此子类构造函数里面 ...
李新辉 发表于 2013-11-5 11:43
d.i
调用不是类变量 i 吗?
代码我加上了打印语句
Clare0621 发表于 2013-11-5 00:15
顺序反了,根据你重新编辑的代码,下面程序一指楼主第二个程序,程序二指第一个程序:
// 程序一:子类中 ...
Clare0621 发表于 2013-11-5 16:36
System.out.println("f "+i); //那么这个位置打印这个 i 又是怎么回事呢?——————>这个 ...
李新辉 发表于 2013-11-5 16:54
不建立对象 类加载 静态变量已经存在 这时候直接打印 i 就是 静态变量 而已
静态给类 初始化的 ...
heke 发表于 2013-11-5 00:57
成员函数在多态调用时,编译看左边,运行看右边。Demo2中i是成员函数中的局部变量,所以调用的是子的i,先初 ...
heke 发表于 2013-11-5 00:57
成员函数在多态调用时,编译看左边,运行看右边。Demo2中i是成员函数中的局部变量,所以调用的是子的i,先初 ...
何超 发表于 2013-11-5 20:02
1 总结:因为当调用静态方法时,只要建立子类对象,父类与子类中的静态方法都会随之加载入内存,是不 ...
李新辉 发表于 2013-11-5 20:11
你自己运行一下就知道了
每一个打印语句 打印的变量 是哪里来的 你搞得清楚不? ...
何超 发表于 2013-11-5 20:38
你可以试下 你把上面那个代码 也在子类的最外面定义一次 i 那么你输出的结果也是22 所以就是 this 和 s ...
李新辉 发表于 2013-11-5 21:14
都定义了 就是多态
这在比老师的视频中讲过的
这个我清楚……
何超 发表于 2013-11-5 21:33
= = 确实都定义了我知道 但是 你下面那个定义的 i 是静态全局变量 而你上面那个 i 是局部变量 两个 ...
The_Wizard 发表于 2013-11-6 15:57
package answer;
class Super
The_Wizard 发表于 2013-11-7 01:13
System.out.println("c "+i);//c 4//这 打印的是什么时候的 i 呢?为什么? 相当于 this.i 吗?这个 ...
Clare0621 发表于 2013-11-5 00:15
顺序反了,根据你重新编辑的代码,下面程序一指楼主第二个程序,程序二指第一个程序:
// 程序一:子类中 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |