一、概念
所谓面向对象是一种编程思想,通过这种思想可以吧生活中的复杂事情变的简单化,从原来的执行者变成指挥者,面向对象是基于面向过程而言的,面对对象强调结果,比如你要去上学,强调的是去学校,这个动作就是面向对象,而面向过程强调过程,强调的是你去学校的过程,比如骑自行车骑啊骑啊的去。
二、类与对象
定义
所谓类,就是将具有相似的行为或者属性的事物抽象或者集合形成一个类,就如动物类,人类,植物类
所谓对象,通常表现为实体,是类的具体实例,万物皆对象,比如动物类有猫狗这些等等
类与对象的关系
对象是类的实例,类是对象的模板
生活中的类与对象
计算机语言是用来描述现实世界事物的。属性+行为,那怎么通过java语言描述呢?通过类来描述事物,把事物的属性当做成员变量,把行为当做成员方法,比如生活中有手机这个事物,手机具有的
属性:品牌,型号,颜色,价格
方法:发动,停止,加速
类:手机类,抽取属性和行为
对象:iPhone手机啊,华为手机啊,小米手机啊
类与对象的创建和使用
通过class关键字创建类,通过new关键字创建对象。
三、类与对象在内存中的存储
java内存分为推,栈,方法区,
一般来讲局部变量存在栈中,方法执行完毕内存就被释放
对象(new出来的东西)存在堆中,对象不再被使用时,内存才会被释放
每个堆内存的元素都有地址值
对象中的属性都是有默认值的
在栈内存中,创建一个引用变量p,持有对象的地址值
在堆内存中,创建Person对象,并且开辟变量的空间,完成初始化
给堆内存中的元素,分配一个唯一标志,地址值。交给p去保存。
四.构造方法
定义:
构造方法也叫构造函数,构造器,构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的创建或者对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载,构造方法可以自己定义也可以使用系统提供的默认构造方法。
(1)构造方法名称与类名相同,没有返回值声明
(2)构造方法用于初始化数据(属性)
(3)每一个类中都会有一个默认的无参的构造方法
(4)如果类中有显示的构造方法,那么默认构造方法将无效
(5)如果有显示的构造方法,还想保留默认构造 方法,需要显示的写出来。
(6)构造方法可以有多个,但参数不一样,称为构造方法的重载
(7)构造方法之间的调用,必须要有出口。
(8)给对象初始化数据可以使用构造方法或setter方法,通常情况下,两者都会保留。