前面 的像数组啊,循环啊我都写在知乎上了,写在这里也和知乎一样,为了复习和巩固知识。
构造方法Constructor概述和格式
- 构造方法的概述和作用
- 是为了给对象的数据初始化(也就是对象的属性)。
- 构造方法格式
- 方法和类要同名
- 没有返回类型,注意不是没有返回值(也就是不是void)。
- 没有具体的返回值return;
构造方法的重载和注意
- 重载:方法名相同,与返回值类型无关(当然,构造方法没有返回值),注意 返回值这里我们是不看的,不管重载时,变没变,(当然还有方法体),也不看修饰符,我们看的是 参数列表。
- 构造方法的注意事项
- 如果我们没有给出构造方法,系统会自动提供一个没有参数的构造方法
- 如果我们给出了构造方法,那么系统将不会再提供构造方法。
- 如果我们建立了一个有参的构造方法,也就是没有了无参的构造方法。如果要的话,需要自己添加。
给成员变量赋值
我们都不希望我们设计的数据被调用者直接改变,所以一般我们将它设置为private型,所以我们使用了2种方式给数据赋值。
- setX()方法
- 用来修改属性值的。
- 构造方法
- 给对象中的属性进行初始化。
static关键字
- 特点
- 随着类的加载而加载
- 优化于对象存在
- 被类的所有的对象共享(有一个对象改变值,那么其他对象的值也将改变)(一般我们将有共性的设置为static)。
- 可以用类名调用(类名.方法名(或成员变量名)) , 也可以用对象来调用
- static的注意事项
- 在静态方法中是没有this关键字的,这是因为this是随着对象的创建而存在的,而static是随类的加载而加载的。
- 静态方法只能访问静态的成员变量和静态的成员方法
- 静态方法
- 成员变量:只能访问静态变量
- 成员方法:只能访问静态成员方法
- 非静态的方法
- 成员变量:可以静态,也可非静态
- 成员方法:可以静态,也可非静态
- 原因:是因为静态修饰的是与类 加载的,而普通的方法和变量是由对象加载的。
- 静态方法
静态变量和成员变量的区别
- 静态变量也叫做类变量,成员变量也是对象变量
- 所属不同
- 静态的变量属于类,称为类变量
- 成员变量属于对象,称为实例变量
- 内存中位置不同
- 静态变量存储于方法区的静态区
- 成员变量存储于堆内存
- 加载和存在时间不同
- 静态变量可以随类加载而加载,随类消失而消失。
- 成员变量随对象创建而存在,随对象消失而消失。
- 调用不同
- 静态变量可以通过类名调用,也可对象调用
- 成员变量 只通过对象调用
main 方法格式解释
- 格式
* public static void main(String[] args){} - 格式介绍
- public 被jvm 调用,的访问权限
- static 静态 ———— 所以我们可不用建立对象而直接用类名访问。
- void被jvm 调用,不给jvm返回值
- main 一个通用名称,不是关键字(注意),但可被jvm识别
- String[] args 以前是为了键盘输入用的,现在一般是不用的。