static 关键字总结

  • 静态方法调用的注意事项:
  1.  静态方法和成员方法都可以直接访问类变量和静态方法
  2. 静态方法不能直接访问普通的成员变量和成员方法。  
  3. 静态方法中不能使用this关键字

静态方法不能访问非静态变量的原因:类在被加载时先加载static修饰的变量和方法,所以加载static方法时,其中使用的非静态变量还未加载从而引发错误

  • 静态成员建议通过类来调用

格式:类名.类变量名     类名.静态方法名(参数)

注意:类变量供多个对象共享一份数据

  • static修饰的内容
  1. 随着类的加载而加载,且只加载一次
  2. 存储于一块固定的内存区域(静态区/域(方法栈中)),所以可以被类直接调用
  3. 它优先于对象存在,所以可以被类的所有对象共享
  • 静态代码块

优先于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

构造方法

注意事项:

  1. 构造方法名称必须和所在类的类名一致
  2. 构造方法不用声明返回值类型,连void也不需要
  3. 构造方法不能用return返回一个具体的值
  4. 如果定义一个类时没有显式定义构造方法,则系统会默认分配一个无参的构造方法
  5. 一旦自定义了一个构造方法,系统默认提供的构造方法将会被收回
  6. 构造方法可以被重载:方法名相同,参数列表不同(必须)

标准类---JavaBean

JavaBean是Java语言编写类的一种标准规范。符合JavaBean的类要符合:

  1. 所有的成员变量都要使用private关键字修饰
  2. 要为每个成员变量提供一对公共的getXxx和setXxx方法
  3. 要编写一个无参的构造方法(如果没有自定义构造方法则不需要编写)
  4. 最好提供一个全参的构造方法