面向对象
1.面向过程:实现具体的过程
- 优点:对于简单的程序,可以达到快速开发,前期投入成本较低。
- 缺点:很难解决非常复杂的业务逻辑,导致元素之间的耦合度很高,拓展性很差。c语言等。
2 . 面向对象:主要关注对象。
- 优点:耦合度低,扩展力强。
- 缺点:成本较高。
3.面向对象的特征:封装,继承,多态。
4.=采用面向对象的方式开发一个软件:
- 面向对象的分析:ooa
- 面向对象的设计:ood
- 面向对象的编程:oop
类
类是现实世界中不存在的,是一个模板,是一个概念,是人类大脑思考抽象的结果。
类代表了一类事物。
对象a和对象b之间有共同的特征,进行抽象总结出一个模板,这个模板称为类。
一个类主要描述的是:状态+动作
状态:类的属性
动作:类的方法
对象
实际存在的个体。
整个软件的开发过程
- 程序员先观察实际,从现实世界当中寻找对象
- 寻找了n个对象后,发现所有的对象都有共同特征
- 程序员在大脑中形成了一个模板(类)
- Java程序员通过Java代码表述一个类
- 有了类就可以创建对象
- 有了对象后,可以让对象协作起来形成一个系统
对象又被称为实例(instance)
类的定义
修饰符列表 +class+类名{}
Java中所有的class都属于引用数据类型。
对象的创建和使用
一个类中的成员变量不能直接通过类访问,必须通过对象去访问这个类中的成员变量也叫实例变量。不创建对象,这个实例变量的内存空间是不存在的。
new运算符的作用是创建对象,在JVM中的堆内存中开辟新的内存空间。
栈里面是局部变量,堆里面是成员和实例变量。
Student s=new Student();new出来一个对象在堆内存中有内存地址,把内存地址赋给了变量s,s是一个局部变量。s叫做引用。
如果想要访问堆内存的数据,必须通过引用来访问。引用.成员变量名。
String和Student都是一样的引用数据类型,只不过String是sun公司写的。
成员变量
- 实例变量:修饰符没有static,存储在堆内存中。
- 静态变量:修饰符有static,存储在方法区内存中。
垃圾回收器主要针对的是堆内存。