本章将对java的面向对象进行介绍
1.了解面向对象
面向对象的思想来源于生活,我们了解生活中的事物都是从它的外表(静态属性)和行为(动态属性)来了解的.
面向过程强调的是功能行为,那么面向对象就是将功能封装进对象,强调了具备功能的对象
面向对象是基于面向过程的
面向对象的三大特征:封装,继承,多态
2.对象与类的概念
对象用计算机语言对问题域中事物的描述,对象通过属性(attribute)和方法(method)来分别对应事物所具备的静态属性和动态属性
类是用来描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性
类可以看成一类对象的模版,对象可以看成该类的一个具体实例
3.面向对象的特点:
是一种符合人们思考习惯的思想可以将复杂的事情简单化
将程序员从执行者转换成了指挥者完成需求时:
先要去找具备所需功能的对象来用,如果对象不存在那么创建一个具有所需功能的对象
这样简化开发并提高复用
4.类的定义:
生活中描述事物无非就是描述事物的属性和行为
如:人有升高,体重等属性,有说话,打球等行为
Java中用类class来描述事物也是如此
属性:对应类中的成员变量.
行为:对象类中的成员函数
定义类其实在定义类中的成员(成员变量和成员函数)
类的定义:
5.成员变量和局部变量的区别?
成员变量:
成员变量定义在类中,在整个类中都可以被访问.
成员变量随着对象的建立而建立,存在于对象所在的堆内存中
成员变量有默认初始化值
局部变量:
局部变量只定义在局部范围内如:函数内,语句内等
局部变量存在于栈内存中
作用的范围结束,变量空间会自动释放
局部变量没有默认初始化值.
6.创建对象,使用对象
7.构造函数:
构造函数的作用是在创建对象时将对象的属性通过构造函数来赋值给成员变量,只有赋了值才可以说对象有了属性!
构造函数的特点:
函数名与类名相同
不用定义返回值类型
不可以写return语句
注意:
如果类里面没有自定义构造函数,系统会默认一个无参数的构造函数
如果自定义了一个有参数的构造函数,要在写一个无参数的构造函数
多个构造函数是以重载的形式存在的
8.this关键字:
this表示所在函数所属对象的引用
换而言之this是本类对象的引用
例如我们new了一个dayday的对象
那么在这个对象的方法里this指向的是自己
也就是this.name 相当于 dayday.name
9.private(私有)关键字
private关键字:
是一个权限修饰符
用于修饰成员(成员变量和成员函数)
被私有化的成员只在本类中有效
常用之一:
将成员变量私有化对外提供get,set方法对其访问提高数据访问的安全性
结果:
使用get:
结果: