面向对象概述
0.面向对象语言:c#,c++,java,
就是将过程封装成对象,指挥对象来做
1.面向对象是一种常见的思想,符合人们的思考习惯
2.面向对象的出现,将复杂的问题简单化了
3
.面向对象的出现,将曾经过程中的执行者变成了对象当中的指挥者
面试题:说一下你对面向对象的理解
首先,面向对象是一种常见的思想,符合人们的思考习惯。面向对象的出现,将复杂的问题简单化了,并且将曾经过程中的执行者变成了对象当中的指挥者。有对象,用对象,没对象,创造对象。就比如面试官您本身就在用面向对象的方式思考问题,以面试官您的能力而言,来一个项目,您一个人就可以完成,但是特别耗时间,耗精力,所以您需要找一个会编程的人,所以您需要找一个对象,我就是那个具备专业编程经验的人。您指挥我做事情就可以了,过程您不需要了解,我会给您一个满意的答案。这就是面向对象。面向对象的三大特征:封装,继承,多态!
类的概念
用java语言对生活中的事物进行描述,是通过类的形式来体现的
怎么描述呢?对于事物的描述,java只关注两个点
行为 -- 成员函数
属性 -- 成员变量
局部变量和成员变量的区别?
作用域不同,定义位置不同
1.成员变量定义在类中,在整个类中都可以访问
2.局部变量定义在函数中,语句和局部代码块中,只在指定的作用域有效
内存中存储的位置不同
1.成员变量存储在堆内存对象中
2.局部变量存储在栈内存方法中
生命周期不同
1.成员变量随着对象的创建而存在,随着对象的消失而消失
2.局部变量随着所属作用域执行,随着作用域的消失而释放
初始化值
1.成员变量有初始化
String - null
int - 0
double 0.0
boolean false
char '\u0000'
2.局部变量没有初始化
明确该事物的属性和行为定义在类中即可。
对象:其实就是该类事物实实在在存在的实体
类和对象的关系
类:对事物的描述
对象:该类事物的实例
匿名对象
new Demo().show();
new Demo().name;
1. 特点是只能调用一次的情况下用
匿名对象特点是用完了就是垃圾,没有任何指向它。
2.匿名对象可以作为实际参数作为传递
基本、引用数据类型图解
java只有值传递,引用类型传递的是地址值
封装
隐藏了对象内部的属性和实现细节,对外提供公共访问方式
private String name;
public String getName()
{
return this.name;
}
public String setName(String name)
{
this.name = name;
}
封装的好处
1.将变化隔离
2.便于使用
3.提高重用性
4.提高安全性
生活中比如机箱的例子,把很多硬件全部封装在机箱内部,这样机箱里面的硬件就
提高安全性
并且无论机箱里面是怎么换件,我们都不用关注,我们关注的就是怎么通过机箱使用
这就是将变化隔离
另外,机箱前面和后面都提供了插口和开机按钮,直接用就可以了,
便于使用