面向对象:面向对象是相对于面向过程而言的。
面向过程概述:就是完成功能的每一个步骤我们都要参与,面对每一步过程和步骤,完成每一步过程和步骤,由这些步骤过程之间的相互调用来实现功能。
面向对象概述:是相对于面向过程来说的,当完成一个功能的步骤过多功能改变时,一步步完成修改很麻烦,我们利用封装的思想,把一些有相同功能的步骤和过程封装在一起,完成功能时只要找到对应的类就行。这就是面向对象思想。
面向对象的思想特点:(1)更符合我们人的逻辑思想 (2)将复杂的思想简单化 (3)将我们从执行者变成指挥者
面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism)
面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情
类:我们学习的Java语言最基本单位是类
定义:是一组相关的属性和行为的集合;属性就是成员变量,行为就是成员方法。定义类其实就是定义类的成员。
- 成员变量 和定义变量是一样的,只不过位置发生了改变。在类中,方法外
- 成员方法 和定义方法是一样的,只不过不用static去修饰
类和对象的概念
类:是一组相关的属性和行为的集合 类 学生
对象:是该类事物的具体体现 对象 班长就是一个对象
如何创建对象
格式:类名 对象名 = new 类名();
成员变量和局部变量的区别
A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
匿名对象的概述和应用:
定义: 就是没有名字的对象
应用: a:调用方法,仅仅只调用一次的时候。b:匿名对象可以作为实际参数传递
private关键字 :(私有的)
特点:a:是一个权限修饰符 b:可以修饰成员变量和成员方法 c:被其修饰的成员只能在本类中被访问
static关键字 :(静态的)
特点 a:随着类的加载而加载 b:优先于对象存在 c:被类的所有对象共享 d:可以通过类名调用
静态只能访问静态,非静态可以访问静态的也可以访问非静态的
静态变量和成员变量的区别
A:所属不同
静态变量属于类,所以也称为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
B:内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
C:内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
D:调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用