目录
一、定义类
注:类名采用大驼峰命名法(每个单词的首字母大写)
以学生类举例:
建议:一个Java文件放一个类
注:不要轻易修改public修饰的类的名称;如要修改,方法如下(一个文件有多个类的时候不适用!!!):
首先右击要修改的文件
光标处为修改后的文件名,最后点击Refactor即可。
二、类的实例化 / 实例化对象
通过new关键字实例化一个对象
一个类可以实例化多个对象
实例化这个对象的时候,是先在堆上new了一个对象,而s1存储的是这个对象的地址。
三、通过“.”访问对象的成员变量
打印结果(此时没有进行赋值操作):
没有进行赋值操作时,值为默认值!!!
四、成员变量和成员方法中的局部变量重名
运行结果:
show方法中所有的都是局部变量(局部变量优先原则),因此成员变量并没有被赋值而是默认值,而show1打印时使用的又是默认值的成员变量,所以出现以上结果。
解决办法:
结果:
五、this
1.this.属性->访问当前对象的属性
this代表的是当前对象的引用
谁调用的Student类,this就是谁。
this引用的特性
①this只能在成员方法中使用
②在成员方法中,this只能引用当前对象,不能引用其他对象
2.this.方法名()->调用当前对象的成员方法
3. this()可用于调用当前对象的构造方法
①只能在构造方法中使用
②必须放在构造方法第一行,否则会报错
③不能形成环
六、构造方法(构造器)
1.名称必须和类名相同!!!
2.没有返回值!!!
3.在创建对象的时候,由编译器自动调用,并且在整个对象的生命周期内只调用一次
4.如果当前类中没有构造方法,编译器会自动生成一个不带参数的构造方法;反之,不论当前类中的方法是否带参数,编译器都不会自动生成任何构造方法。
5.实例化一个对象重要的两步:①为这个对象分配内存②调用合适的构造方法(说明:构造方法不止一个)
6.构造方法可用于初始化成员变量的值。
7.构造方法支持方法的重载
8.利用编译器生成构造方法
第一步:在想要添加构造方法的地方右击
第二步:点击generate
第三步:点击constructor
第四步:选择相应参数即可(按住Ctrl即可多选)
最终效果:
易错点:
这是不符合方法重载的标准的,机器无法监测到变量名的不同。
休息一下,精彩继续!