面向对象:
是一种思维方式,关注功能,关注具备功能的对象,关注结果,不关注实现过程。
基于面向过程。
将功能封装进对象,强调具备了功能的对象,不关注过程。就是将功能封装进类中,
当我们想要使用到这个功能的时候,不需要考虑如何去完成这个功能,而是考虑谁具备了这个功能。
类:现实事物的抽象,描述的是一类事物,现实事物特征、行为分别被抽象成了类中的成员变量与成员方法
对象:某个类的实例,这个类的具体事物
类与对象的关系:
一个类可以有多个对象,创建对象是使用类的重要方式
封装:
隐藏实现细节(把数据和方法包装进类中,隐藏属性和具体的实现),提供公共访问方式,被称作是封装。
封装的结果是一个同时带有特征和行为的数据类型。
定义类格式:
public class 类名 {
private 数据类型 变量名1;
private 数据类型 变量名2;
...
public xx method(XX xx) {
//功能逻辑
}
...
//=====gs=============================
}
private:私有访问权限修饰符,修饰成员,被修饰后的成员只能在本类中被访问,其他类中无法访问
this:
概念: 当前对象的引用
this定义在方法中,当哪个对象调用这个方法,则this代表哪个对象。
用法:
使用this区分成员变量与局部变量
在方法内,使用this访问的为成员变量,不用this访问的默认为局部变量。
如果方法中访问了一个变量,而该方法中没有定义一个该名称的局部变量,则会继续从成员位置找该变量。
成员变量与局部变量区别
区别一:定义的位置不同
定义在类中的变量是成员变量
定义在方法中或者{}语句里面的变量是局部变量
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法中
区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动的给其赋值才可以使用
区别四:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
是一种思维方式,关注功能,关注具备功能的对象,关注结果,不关注实现过程。
基于面向过程。
将功能封装进对象,强调具备了功能的对象,不关注过程。就是将功能封装进类中,
当我们想要使用到这个功能的时候,不需要考虑如何去完成这个功能,而是考虑谁具备了这个功能。
类:现实事物的抽象,描述的是一类事物,现实事物特征、行为分别被抽象成了类中的成员变量与成员方法
对象:某个类的实例,这个类的具体事物
类与对象的关系:
一个类可以有多个对象,创建对象是使用类的重要方式
封装:
隐藏实现细节(把数据和方法包装进类中,隐藏属性和具体的实现),提供公共访问方式,被称作是封装。
封装的结果是一个同时带有特征和行为的数据类型。
定义类格式:
public class 类名 {
private 数据类型 变量名1;
private 数据类型 变量名2;
...
public xx method(XX xx) {
//功能逻辑
}
...
//=====gs=============================
}
private:私有访问权限修饰符,修饰成员,被修饰后的成员只能在本类中被访问,其他类中无法访问
this:
概念: 当前对象的引用
this定义在方法中,当哪个对象调用这个方法,则this代表哪个对象。
用法:
使用this区分成员变量与局部变量
在方法内,使用this访问的为成员变量,不用this访问的默认为局部变量。
如果方法中访问了一个变量,而该方法中没有定义一个该名称的局部变量,则会继续从成员位置找该变量。
成员变量与局部变量区别
区别一:定义的位置不同
定义在类中的变量是成员变量
定义在方法中或者{}语句里面的变量是局部变量
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法中
区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动的给其赋值才可以使用
区别四:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失