面向对象:java中的核心内容,最重要的内容,Java语言的特色。
C语言:纯面向过程,C++:半面向对象;JAVA:纯面向对象。
1.面向过程和面向对象的区别:
面向过程:关注因果关系,因果关系构成一个一个的模块,整个流程。
-优点:对于业务的逻辑比较简单,可以达到快速开发,前期投入成本比较低。
-缺点:面向过程的方法很难解决非常复杂的业务逻辑,导致软件元素之间的“耦合度”比较高,只要其中一个环节出现问题,整个程序都会收到影响。
面向对象:关注对象(人的习惯),独立体能完成哪些功能。
-优点:“耦合度”低,扩展能力强,更容易解决现实生活中的复杂问题。
-缺点:前期投入高。
2.面向对象的三大特征:
-封装
-继承
-多态
所有的面向对象的编程语言都有这三大特性!
3.面向对象的生命周期:
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程
4.什么是类?
-类在现实生活中不存在,是一个模板,是一个概念,是人类大脑经过思考抽象的结果。
-类就是一类事物
-在现实世界当中,对象A与对象B之间具有共同的特征,进行抽象总结出一个模板,这个模板就被称为类。
5.什么是对象?
-对象是实际存在的个体,现实当中实际存在。
6.描述一下整个程序的开发过程:
1.程序员先观察现实世界,从现实世界当中寻找对象。
2.寻找了N多个对象,发现对象都有一个共同的特征。
3.程序员在大脑中形成了一个模板【类】
4.程序就有了类的定义
5.然后通过类就可以创建对象。
6.有了对象之后,可以让对象协作成一个系统。
类–【实例化】==>对象; 对象又被称为实例/instance。
对象 —【抽象】=>类
重点:
类描述的是对象的共同特征。
共同特征例如:身高特征
这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征。
因为这个特征具体到某个对象之后,值不同,有的对象身高1.80,有的2.80.
对象和对象之间有共同特征,但是具体到对象之后有数据上的差异
6.一个类主要描述什么信息呢?
状态【一个类的属性】+动作【一个类的方法】
状态信息:名字、身高、性别、年龄
动作信息:吃、唱歌、学习、看电视。
类的定义:
语法结构: [修饰符列表] class 类名{ }
学生类: 描述所有学生对象的共同特征:
*学号、姓名、性别、年龄、住址……
学生对象有哪些动作信息:吃饭、睡觉、学习、玩…
重点:属性通常是采用一个变量的形式来完成定义的
Int age; string name; Boolean sex;
Java中的数据类型:
基本数据类型:int 、long 、short、 byte、 Boolean 、double……
引用数据类型:
String.class SUN提供的
System.class SUN提供的
Student.class 自己定义的
String username = “meini”;
Student s = xiaozhao;
方法区内存:在类加载的时候,class字节码代码片段加载到该内存空间当中。
栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈
堆内存:new的对象在堆内存中存储。