JAVA中的语法.
发布网友
发布时间:2022-04-28 12:07
我来回答
共3个回答
热心网友
时间:2023-10-08 22:33
这2个问题其实想一想自己举个例子就明白了...
1.
假设static方法中可以调用非static变量.
static从属于类这一点你已经知道.那就是说调用static方法,变量的时候是可以不要类的对象的.只要使用类就可以了.不是static的方法和变量必须用对象去调用.因为这个方法属于特定的对象而不是类. 既然是这样,一个类可能有多个对象,这些对象的非static变量的值是不一样的. 那请问static方法中调用的非static对象的值到底是多少? 你也确定不了吧...所以static方法不能调用非static变量
2.
加载类的时候未必是创建类的对象的时候...既然不是创建对象的时候为什么要使用非static变量?
热心网友
时间:2023-10-08 22:33
这2个问题其实想一想自己举个例子就明白了...
1.
假设static方法中可以调用非static变量.
static从属于类这一点你已经知道.那就是说调用static方法,变量的时候是可以不要类的对象的.只要使用类就可以了.不是static的方法和变量必须用对象去调用.因为这个方法属于特定的对象而不是类. 既然是这样,一个类可能有多个对象,这些对象的非static变量的值是不一样的. 那请问static方法中调用的非static对象的值到底是多少? 你也确定不了吧...所以static方法不能调用非static变量
2.
加载类的时候未必是创建类的对象的时候...既然不是创建对象的时候为什么要使用非static变量?
热心网友
时间:2023-10-08 22:34
数组定义:类型[] xxx; 类型 a[];
如:int[] ary = new int[5]; int ary2[] = new int[7];
数组定义的时候必须指定后面的长度.
数组元素引用:数组[index]; ary[0] ~ ary[ary.lenth-1]
数组下标从0开始,丛长度-1结束
以上回答你满意么?追问不满意.
热心网友
时间:2023-10-08 22:34
数组定义:类型[] xxx; 类型 a[];
如:int[] ary = new int[5]; int ary2[] = new int[7];
数组定义的时候必须指定后面的长度.
数组元素引用:数组[index]; ary[0] ~ ary[ary.lenth-1]
数组下标从0开始,丛长度-1结束
以上回答你满意么?追问不满意.
热心网友
时间:2023-10-08 22:34
静态变量在类加载时就已经生成了,而非静态变量要在实例化时,也就是new出来时才生成,所以不能再静态方法中引用非静态变量。追问谢谢!回答很好.
热心网友
时间:2023-10-08 22:34
静态变量在类加载时就已经生成了,而非静态变量要在实例化时,也就是new出来时才生成,所以不能再静态方法中引用非静态变量。追问谢谢!回答很好.