当然,这是操作层面,实际上有区别(现在不懂也无所谓吧),静态变量是分配在方法区里面的,局部变量是分配在栈里面的,成员变量(实例变量)是分配在堆中的。不过,开始先记住我刚才说的那段操作层面的话把,会用就行。
2015-09-24
我来讲下,估计大家一下就懂了(当然了,是个人理解,不保证权威)。
一般来说,类里的变量分局部变量和成员变量(课程有讲),局部变量就是类里面“方法”用的,成员变量是面对“整个类”的。
成员变量又分为静态变量和实例变量(有static和无static),都是面对类,区别在于:面对非静态方法时,操作层面没区别,都是直接用;面对静态方法时,静态变量可以直接用,实例变量要先实例(弄个对象出来),再让这个对象来用。
一般来说,类里的变量分局部变量和成员变量(课程有讲),局部变量就是类里面“方法”用的,成员变量是面对“整个类”的。
成员变量又分为静态变量和实例变量(有static和无static),都是面对类,区别在于:面对非静态方法时,操作层面没区别,都是直接用;面对静态方法时,静态变量可以直接用,实例变量要先实例(弄个对象出来),再让这个对象来用。
2015-09-24
已采纳回答 / 无动于衷
你可以把静态内部类、成员内部类 与 静态变量、成员变量类比来看。静态的东西是属于 一个类(或者说这个类所有对象共有的),成员的东西是属于一个具体对象的,当你每实例化了一个对象,这些对象都会拥有各自的成员变量,非静态方法。当然静态内部类,成员内部类也与此类似。public class HelloWorld { // 外部类中的静态变量score private static int score = 84; // 创建静态内部类 public static c...
2015-09-23
已采纳回答 / 无动于衷
成员就是属性,你问的问题很好,我突然感觉我自己都不是很清楚了。有了这些想法,你可以自己去IDE中去试一下啊,不太清楚的地方再去百度。我个人的理解大约是这样的。静态的内部类是不能调用外部类非静态的成员;静态内部类可以直接访问外部静态成员;成员内部类可以调用外部类的不论是静态的还是非静态的成员。静态内部类只能调用外部类的静态属性,直接属性名就可以了,也可以外部类名.属性。外部类名.this.属性名调用的是静态内部类的非静态成员,应该是这样。
2015-09-23
已采纳回答 / 无动于衷
看看这个例子:public List<Student> getStudents(){ List<Student> list = new ArrayList<Student>(); list.add(new Student("Li")); list.add(new Student("Bru")); list.add(new Student("Cru")); return list;}------------------------------...
2015-09-23