一:局部变量 全局变量(成员变量/类变量)
局部变量 :声名于方法中;作用于当前方法;于栈内存;无默认值;
成员变量:声名于类中; 作用于当前类 ; 于堆内存;有默认值;
PS:成员变量可以被四个修饰符修饰public.....局部变量不可
二:数据类型:基本数据类型(8);引用数据类型(类;接口;数组)
引用:可以理解为一种受限制的指针(对象;数组都是对其引用操作)
于指针区别 指针可以进行运算,引用只能进行赋值;
三:构造方法(构造器)
1:当创建对象会默认调用构造方法来创建对象(堆里开辟空间)完成对象的初始化操作
2:条件:
构造方法名称必须与类名保持一致
没有返回值(方法名前没有数据类型没有return)
3:PS
如果没有人工构造,会有一个自动生成的无参构造方法供调用;
人工构造后, 默认的无参的构造方法就不能用了 需要无参构造方法必须自己再构造一个
同一个类里可以有多个同名的构造方法,但必须保持三点不一样; 即构成了方法重载(类型;数量;顺序)
(一个类里包含多个同名方法但是参数不一样当需要某些特定属性初始化根据参数不同调用不同的方法)
四: this(不能于static修饰里,在static时候没有创建出对象)
作用:表示当前对象本身(是对象,对 对象服务)
准确来说是对当前对象的引用
( 特别是对于方法参数于成员属性同名时候this便可引用成员变量进行操作)
普通方法使用: 区分类成员属性和形式参数(所以方法的形式参数可以于成员属性同名)
调用当前对象的其他方法
其位置任意(区别于构造方法)
构造方法的使用:调用其他的构造方法必须this调用于第一条语句
this(参数)『参数不是成员变量』
表示调用对象的另一个构造方法(根据参数确定) 普通方法待验证?????????(一样可以)
构造方法于普通方法的交叉调用????????(方法的相互调用可能造成栈溢出)
(构造方法里可以直接调用普通方法,普通方法要new出构造方法)
五:static (在方法区中储存)(一般工具类的方法就是静态方法)
只能在类里方法外声名静态成员变量或者静态方法
静态成员变量(对类服务) :属于类,共享类在载入便实现了初始化
调用对象名.类属性或者类名.类属性(后者是规范写法)
静态方法 : 不需要对象(而变量可有可无)类名.方法名
(static方法中不可以访问类内非static成员和方法)?????
(非静态全局变量是一个对象的属性,对象未创建静态方法调用他就是非法的,所以静态方法中不能引用非静态方法)
( 创建对象后应该可以)??(创建对象可以使用main方法就是最好的代表)
(另外静态方法中不可能以任何形式引用this和super)