static 关键字总结
- 静态方法调用的注意事项:
- 静态方法和成员方法都可以直接访问类变量和静态方法
- 静态方法不能直接访问普通的成员变量和成员方法。
- 静态方法中不能使用this关键字
静态方法不能访问非静态变量的原因:类在被加载时先加载static修饰的变量和方法,所以加载static方法时,其中使用的非静态变量还未加载从而引发错误
- 静态成员建议通过类来调用
格式:类名.类变量名 类名.静态方法名(参数)
注意:类变量供多个对象共享一份数据
- static修饰的内容
- 随着类的加载而加载,且只加载一次
- 存储于一块固定的内存区域(静态区/域(方法栈中)),所以可以被类直接调用
- 它优先于对象存在,所以可以被类的所有对象共享
- 静态代码块
优先于main方法和构造方法执行
++i 与 i++的区别
++i 前++,先进行加运算后,i再参与后续运算
i++ 后++,i先参与后续运算,然后再进行加运算
// 如 i++
int[] a = {1,2};
int b = 2;
int i = 0;
a[i++]+=b;
i = 0;
a[i++]+=b -->a[i] = a[i] + b = 3;// 然后执行i++;
i = 1;
a[i] = 2
// ++i
int i= 1;
int j = i++;
if(++i >j) i=i+j;
执行流程:j = i++ --> j = 1 , i = 2
if( ++i > j) --> i = i+1 = 3 , i>j
--> i = i + j = 3 + 1 = 4
构造方法
注意事项:
- 构造方法名称必须和所在类的类名一致
- 构造方法不用声明返回值类型,连void也不需要
- 构造方法不能用return返回一个具体的值
- 如果定义一个类时没有显式定义构造方法,则系统会默认分配一个无参的构造方法
- 一旦自定义了一个构造方法,系统默认提供的构造方法将会被收回
- 构造方法可以被重载:方法名相同,参数列表不同(必须)
标准类---JavaBean
JavaBean是Java语言编写类的一种标准规范。符合JavaBean的类要符合:
- 所有的成员变量都要使用private关键字修饰
- 要为每个成员变量提供一对公共的getXxx和setXxx方法
- 要编写一个无参的构造方法(如果没有自定义构造方法则不需要编写)
- 最好提供一个全参的构造方法