变量
局部变量:定义在方法中的变量。
作用域:从定义的位置到方法的结束。
局部变量不包含默认值,如果没有使用当前变量的话,可以不赋值
注意:局部变量只能在当前方法中使用,其他地方无法使用。
成员变量:定义在方法外,类内的变量交成员变量(c中的全局变量)。
成员变量包含初始值(int 0,String null,Boolean false)
作用域:整个类中。
成员变量有默认值,局部变量没有默认值。
内存分析
栈(Stace):存放局部变量 先进后出 自上而下储存 方法执行完毕,自动释放空间
堆(heap):new出来的对象,需要垃System.gc() 栈中没有变量指向堆中的对象的时候就被回 收。
方法区(method area): 存放类的信息(代码)、static变量、字符串常量等。
构造方法:
创建对象的时候 默认会调用构造方法来创建对象,(在堆中开辟空间),可以完成成员变量的某些初始化操作的语法。
方法名称:构造方法的方法名称必须跟类的名称保持一致
访问修饰符:
形参:可以用户自定义添加,跟方法的普通参数一样。
方法体:完成对象的初始化功能
返回值:没有返回值
注意:
1、创建完类之后,如果没有手动调节构造方法,会有一个默认的误餐的构造方法供调用
2、当用户自定义了构造方法之后,默认的无参构造方法就不能使用了,必须要手东定义无参 构造方法
3、同一个类中可以包含多个同名的构造方法
方法的重载:在一个类中可以包含多个重名的方法,但是注意方法的参数列表不能相同
三个方面不同:
参数个数不同
参数类型不同
参数的顺序不同
注意:
一般构造方法都会重载(一个类中可能包含多个属性值,当只需要给部分属性初始化的时 候需要调用不同的构造方法)
static:静态成员变量
普通变量在使用的时候,必须要通过对象进行调用
类变量或者静态变量可以直接使用对象名调用,也可以使用类名进行调用。
属于公共变量
置于方法区中
static修饰方法时:表示静态方法或者叫类方法
普通方法在使用的时候,必须要通过对象名进行调用
类方法或者静态方法可以使用类名,也可以使用对象名
静态变量不能定义在静态方法中。
非静态方法可以调用静态方法
静态方法中不能直接调用非静态方法
静态方法中不能以任何方式引用this与super关键字
在方法里不能定义static变量