标题图
面向对象.png
面向过程的代表主要是C
语言,面向对象是相对面向过程而言,Java
是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为。
而对于面向对象而言,将功能封装到对象,所以面向对象是基于面向过程的。以前是主要以面向过程为思想,现在是将功能装进对象中,如果要用到功能时,就调用该对象即可。
面向对象是入门思想的进步,适用于人类的思考,将复杂的东西进行了简单化,将我们程序员从执行者变化成指挥者。由以前面向功能(面向过程)转变为面向对象(封装的功能)。
设计思想的变化
例如:学生行为
对于结构化程序设计:起床,洗脸,吃饭,下课,放学 对于面向对象设计,类,类中的方法
图片
类为对事物的描述,具有属性和行为; 对象是该类事物创建的实体,通过对象调用。
一切事物皆对象,在Java
中描述事物通过类的形式体现,类是具体事物的抽象。
类具有属性和行为,它是将数据和与数据相关的操作封装在一起的集合体,类定义中的成员即成员变量和成员函数。
成员变量有默认的初始值,成员变量定义在类中,可以被整个类访问,成员变量随对象的创建而创建,随对象的消失而消失,存储在堆内存中。
局部变量定义在函数内,语句中,局部变量存在于栈内存中,随着方法的运行而运行,出栈而结束,作用的范围内结束,没有默认值。
Car c = new Car(); // 创建对象
封装是隐藏对象的属性与功能,仅对外提供公共访问权限,封装可以提高安全性,重用性等。
构造函数对对象进行初始化,没有具体的返回值,返回类型,函数名和类名相同。
this
为代表本类对象的引用。
使用static
修饰的成员变量为静态变量;
用static
修饰的类,为静态类,
用来修饰方法,则为静态方法。
静态变量是归类所有,静态变量直接通过类调用,而不用实例化对象。静态方法也是用类名直接调用的。静态方法只能操作静态变量而不能使用实例变量。
静态随类的加载而加载,优先于对象存在。静态方法中不能用
this
,super
。
Java
、 Android
中的其他知识 深入讲解 ,有兴趣可以继续关注