面向对象思想
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
面向对象:当需要实现一个功能的时候,不关心具体步骤,而是找一个已经具有该功能的人来帮我。
类:是一组相关属性和行为的集合,是抽象的。
属性:就是该事物的状态信息。
行为:就是该事物能够做什么。
对象:是一类事物的具体体现。对象是类的一个实例,是具体的。
类与对象的关系:类是对象的模板,对象是类的实体。
创建类-格式:
成员变量(属性):变量类型 变量名;
成员方法(行为):public 返回值类型 方法名称(参数){方法体};
注意:
1、成员变量直接写在类当中,是在方法外边。
2、成员方法不需要写static关键字。
创建对象-格式:
1、导包:对于和当前类属于同一个包的情况下,不需要导包。
import 包名称.类名称
2、创建:类名称 对象名 = new 类名称();
3、使用:想用谁就用对象名点谁
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
注意:如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
成员变量和局部变量区别
1、在类中的位置不同【 重点】
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
2、作用范围不一样 【重点】
成员变量:类中
局部变量:方法中
3、初始化值的不同 【重点】
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
4、在内存中的位置不同 了解
成员变量:堆内存
局部变量:栈内存
5、生命周期不同 了解
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
内存示意图:
只有一个对象的内存示意图:
C:/Users/YX/AppData/Local/YNote/data/weixinobU7VjugH5y5c9QrLfUOcY-HQYno/ed0a2ff1bb374ac9a3948dd324b09159/01-%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%86%85%E5%AD%98%E5%9B%BE.png
注意:this.成员变量
C:/Users/YX/AppData/Local/YNote/data/weixinobU7VjugH5y5c9QrLfUOcY-HQYno/a3c5fb1d3130480f81c62195812273c2/clipboard.png
C:/Users/YX/AppData/Local/YNote/data/weixinobU7VjugH5y5c9QrLfUOcY-HQYno/a3c5fb1d3130480f81c62195812273c2/clipboard.png
this写在成员方法里(不能写在静态方法里 [ 静态方法有static ] ),必须通过对象来调用,谁调用的方法,谁就是this.
即对象就是this。
【对象person调用的方法(Person),所以this.name就相当于person.name。
构造方法
public 类名称(参数类型 参数名称){方法体}
C:/Users/YX/AppData/Local/YNote/data/weixinobU7VjugH5y5c9QrLfUOcY-HQYno/d29d30a93f93478885de598925a30f25/clipboard.png
标准的类(Java Bean):
(1)所有的成员变量都要使用private关键字修饰
(2)为每一个成员变量编写一对Getter / Setter方法 (Fn+Alt+Insert)
(3)编写一个无参数的构造方法 (Fn+Alt+Insert)
(4)编写一个全参数的 构造方法
|
|