使用class关键字创建/定义的都是类,class为定义类的关键字,一般一个文件当中只定义一个类
创建类的写法:
修饰符 class 类名 {
代码.....
}
用类类型创建对象的过程,称为类的实例化,在java中可以通过new关键字,配合类名来实例化对象
写法:数据类型/类名 对象名(自己起) = new 类名(构造方法的参数);
每定义了一个类,就相当于在计算机中定义了一种新的类型,类名就是这个类的类型
创建对象也称之为实例化对象/实例化,同一个类可以创建多个对象(实例)
类是一种自定义的类型(类类型),可以用来定义变量,自定义的类型就是它的类名
类用它的类名来表示数据类型(类类型),例如定义了一个Person类,创建对象后用一个对象变量来接收的话,对象变量写成:Person 变量名的写法
如果需要的数据不在目前编写的类当中,而在另一个类中(跨类访问与调用),则需要通过创建对象来访问/得到我们需要的数据
如果需要的数据在目前编写的类当中,则可以直接使用属性,也可以使用 方法名(实参); 来调用方法
同一个类中的方法,可以直接调用,写法:方法名(实参);
如果构造方法有参数的话,则在创建对象的时候必须在()括号内写入对应类型的参数
对象的内存开辟在堆空间中,对象变量在栈上开辟,存储的是对象的地址(引用/首地址)
如果一个类创建了多个对象,则每一个对象都会在堆上开辟一块空间进行存储,每个对象之间/每个对象之间的属性和方法是相互独立的
什么是成员变量属性也叫做成员变量,它是在类内方法外定义的!
属性一般是基本数据类型,也可是引用类型(对象, 数组)
属性(成员变量)的作用域是其所属类的范围(也就是所属的类的{}花括号内)
属性(成员变量)的生命周期是:伴随着对象的创建而创建,伴随着对象的销毁而销毁
声明并初始化属性/成员变量:
修饰符 数据类型 变量名 = 值/对象地址(引用);
声明属性/成员变量:
修饰符 数据类型 变量名;
声明后初始化属性/成员变量:
变量名 = 值/对象地址(引用);
如果不进行初始化,如果是基本数据类型数据,默认值为基本数据类型对应的默认值,整型为字符0,浮点型为字符0.0,字符型为数字0,布尔型为false,如果是引用类型数据,默认值为null
非静态(非static)的成员变量在创建对象后没初始化才会进行赋予默认值,静态(static)的成员变量在类被加载到方法区之后没初始化就会进行赋予默认值
属性和局部变量可以重名,遵循就近原则



