1. java里的成员变量
也称为实例变量,其实就是属性。
2. 构造方法
构造方法是对类的初始化,其实也是构造对象时用来传递参数的方法。
3. java的变量需要预先定义
定义之后数据类型便不可更改,数据类型的强制转换也不过是变量的运算,其实并不改变数据类型。
4. Java 中静态变量和实例变量区别
- 静态变量也称为类变量,属于类,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被调用。
- 实例变量属于该类的对象,必须生成该类对象,实例变量才会被分配空间,才能调用实例变量。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
5. 成员变量、局部变量、静态变量的区别
6. 每次创建一个新对象就会分配一个实例变量,而始终只会分配一个静态变量
类的静态数据成员值被所有对象共享,任何对象都可以访问类的静态数据成员。但是他们使用的是同一个数据,操作的是同一块内存,无论哪个对象修改了它,对其他对象来说,他已经变了。
7. 静态方法里面只能调用静态方法或静态成员
因为非static方法和变量必须和指定的对象关联起来才起作用,但是静态方法不需要创建对象,可以直接调用
8. 静态(static)变量
说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。
9. 注意 == 与 equals的区别,== 它比较的是对象的地址,equals 比较的是对象的内容
(1)Java 会对 -128 ~ 127 的整数进行缓存,所以当定义两个变量初始化值位于 -128 ~ 127 之间时,两个变量使用了同一地址:
Integer a=123;
Integer b=123;
System.out.println(a==b); // 输出 true
System.out.println(a.equals(b)); // 输出 true
(2)当两个 Integer 变量的数值超出 -128 ~ 127 范围时, 变量使用了不同地址:
a=1230;
b=1230;
System.out.println(a==b); // 输出 false
System.out.println(a.equals(b)); // 输出 true
10. length() 方法,length 属性的区别
1、length() 方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法;
2、length 属性是针对 Java 中的数组来说的,要求数组的长度可以用其 length 属性;
11. 当一个对象被创建时候,构造方法用来初始化该对象。
构造方法和它所在类的名字相同,但构造方法没有返回值。
12. 一个函数至多只能有一个可变参数,且可变参数为最后一个参数。
对于可变参数,编译器会将其转型为一个数组,故在函数内部,可变参数名即可看作数组名。
13.既然数组属于引用数据类型,那么也一定可以发生引用传递。
那么既然说到了引用数据类型了,就一定可以发生引用传递,而现在的引用传递的本质也一定是:同一块堆内存空间可以被不同的栈内存所指向。