面向对象
面向对象思想
- 面向对象是相对面向过程而言
- 面向对象和面向过程都是一种思想
- 面向过程:强调的是功能行为
- 面向对象:将功能封装进对象,强调具备了功能的对象
- 面向对象是基于面向过程的
面向对象举例
举例1(冰箱)
- 面向过程:打开冰箱,存储冰箱,关闭冰箱
- 面向对象:冰箱(打开,存储,关闭)
举例2(窗口)
- 面向过程:移动窗口,最小化窗口,最大化窗口
- 面向对象:窗口(移动,最小化,最大化)
类与对象
概念
-
类:将具有相同属性和相同行为的一组对象称为类。即用于描述一组对象的共同特征和行为。
注:类是一个抽象的概念,要利用类的方式解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法类实现程序的功能 -
对象:一个对象由一组属性和一组对属性进行操作的方法构成
对象的特征
-
静态特征:指对象的外观、性质、属性等。人们将对象的静态特征抽象为属性,用数据来描述,java中称之为变量。
-
动态特征:指对象具有的功能、行为等。人们将对象的动态特征抽象为行为,用一组代码来表示,完成数据的操作,java中称之为方法。
变量(属性)
成员变量:定义在类中的变量称为成员变量。在类方法外。
局部变量:定义在方法中的变量称为局部变量。在方法中定义或方法声明上
方法(函数)
成员方法:
构造方法:
对象的创建及内存图
创建对象:Persion p=new Persion();
- new Persion()用于创建Persion类的一个实例对象
- Persion p 则是声明了一个Persion类类的变量p
- = 号用于将Persion对象在内存中的地址赋值给变量p,这样变量p便有了对象的引用。【即把引用值存储在变量s中】
匿名对象
定义:没有名字的对象,匿名对象调用完就是垃圾
例如;
new car().num = 5; //这就是匿名对象
匿名对象调用方法比较有意义,调用属性没有意义
-
使用方式1:当对对象的方法只调用一次时,可使用匿名对象来完成,这样比较简化。如果对一个对象进行多个成员调用时,必须给这个对象起个名字
-
使用方式2:可以将匿名对象作为实际参数进行传递