java基础-面向对象
面向过程
我们前面学的编程基本上都是面向过程
那很多同学就想问什么是面向过程呢 通俗来说面向过程就是当我们面对着一些事情的时候 在想 这个事情我该怎么样实现它 怎么样来完成他的功能程序的完成是这样的:
但是我们没有那么多精力做所有的事情 什么事情都自己做 而在饭堂里的饭都要我们自己做 而这个时候我们发现如果把 做饭的工作给厨师 我们就不用都做饭了 只要厨师一个人做就行了 我们谁想吃饭就到饭堂进行了 这个就是面向对象
面向对象
我们面向问题时在想的是我该让谁来做 谁会做 我就去找谁:
面向过程和面向对象各有千秋,面向对象更符合我们常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性,它拥有三大特征:
- 封装(Encapsulation)
- 继承(Inheritance)
- 多态(Polymorphism)
什么是抽象(了解)
先来普及一个面向对象中非常重要的一个概念——抽象。
所谓抽象,从特定的角度出发,从已经存在的多个事物中抽取我们所关注的特性、行为,从而产生一个新的事物的思维过程,是一种从复杂到简洁的思维方式。
比如,根据大多数情况下女人穿裙子的特征,从关注穿着裙子和性别的关系上,有下图的抽象过程。
成员变量和局部变量
回忆变量的定义语法:
数据类型 变量名 = 初始值;
- 成员变量:直接定义在类中,方法外面。又称之为字段(Field),不要称之为属性(错误),后讲
- 局部变量:除了成员变量,其他都是局部变量,具体存在于三个地方
- 方法内
- 方法的形
- 代码块中(一对花括号)
变量的储存位置:
类的定义语法:
public class 类名{
//可编写0到N个成员变量
[修饰符] 数据类型 变量名1;
[修饰符] 数据类型 变量名2;
//可编写0到N个成员方法
[修饰符] 返回值类型 方法名称(参数){
//方法体
}
}
注意:
-
成员变量和方法都 不 能使用static修饰,修饰符是可选用的,都先不使用任何修饰符
-
在面向对象设计中,描述对象的类和测试类分开来编写
-
在描述对象的类中,不需要定义main方法,专门在测试类中提供main方法。
对象操作(重点掌握)
9.5.1. 对象基本操作(重点掌握)
-
创建对象
类名 对象变量名 = new 类名();
- 直接打印对象的时候,打印的是类似于数组一样的hashCode值(先不管,后面讲)
System.out.println(对象变量名);//格式如:类名@3294e4f4
- 匿名对象:创建对象之后没有赋给某一个变量,只能使用一次(先知道)
new 类名();
-
对象操作字段(成员变量)
- 给字段设置数据
对象变量名.字段名 = 值;
- 获取字段数据
数据类型 变量 = 对象变量名.字段名;
-
对象调用方法
对象变量名.方法(参数);
2. 获取字段数据 ```java 数据类型 变量 = 对象变量名.字段名;
-
对象调用方法
对象变量名.方法(参数);