一、类与对象 封装 构造方法:
面向过程:注重完成事物的过程
面向对象: 对象=事物,面向事物,注重事物的本身,而事物本身是不是有属性和行为。
类和对象
概念:
类:是一组相关属性和行为的集合。
对象:一类事物的具体实现。对象是类的实例,具有这个类的属性和行为;
类和对象的关系:
类是对一类事物的描述,是抽象的。
对象是一类事物的实例,是具体的。
类是对象的模板,对象是类的实体。
类:属性:事物的描述 -->成员变量
行为:事物能够做什么 -->成员方法
使用:
成员方法 写在没有main方法的类中
普通方法 写在有main方法的类中
格式:
public class 类名{
//成员变量 -->和定义的变量一样,位置不同,类中方法外
//成员方法 --> 和以前的方法相似;就是没有了static
}
对象的使用:
类名 对象名 = new 类名();
数组形式: 数据类型 [ ] 数组名 = new 数据类型 [数组长度 ];
调用:
1、对象名 . 成员变量
2、对象名 . 成员方法( );
如何使用对象
1. 导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
对于和当前类属于同一个包的情况,可以省略导包语句不写。
2. 创建,格式:
类名称 对象名 = new 类名称();
3. 使用,分为两种情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
(也就是,想用谁,就用对象名点儿谁。)
注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
成员变量和局部变量的区别:
1、在类中的位置不同*【重点】
成员变量 在类中,方法外
局部变量 在方法中
2、作用域范围不同*【重点】
成员变量 这个类中都可以使用
局部变量 只有这个方法中能使用,出了方法就不能用了
3、初始化的默认值不同*【重点】
成员变量:有默认值
局部变量:没有默认值
4、在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
5、生命周期不同
成员变量:随着对象的创建而生存,随着对象的消失而消失
局部变量:随着方法的调用而生存,随着方法的调用完毕而消失
二、封装
面向对象三大特征:封装,继承,多态
概念:
1、把一段代码抽取出来,放到一个大括号中,形成一个单独的功能这个过程叫做封装。
2、类中的成员变量一般情况下我们不让对象。直接调用。通过其他方式调用。
体现: 方法就是一种封装, 关键字private也是一种封装。
在类中我们通过private修饰成员变量,提供public修饰的getter/setter方法
private 是一种修饰符,最小的 可以修饰成员变量和成员方法 被private修饰的成员变量和成员方法,只能在本类中使用。
格式:
1、private 数据类型 变量名;
2、提供公共的getXxx和setXxx方法 可以访问成员变量
this :this代表所在类的当前对象的引用(地址值),即对象自己的引用
*方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
格式:
this.成员变量名;
this.成员方法();
构造方法:
概念:当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
格式:
public 方法名(参数列表){ //方法名要和类名相同
方法体
}
注意:
1. 如果你不提供构造方法,系统会给出无参数构造方法。
2. 如果你提供了构造方法,系统将不再提供无参数构造方法。
3. 构造方法是可以重载的,既可以定义参数,也可以不定义参数
|
|