面向对象,什么是对象?
对象:在客观世界中任何实体都可以看成是对象,万物皆对象,一切都是由对象组成。
面向对象是什么?
面向对象是一种编程的思想,不是一种具体的技术,面向对象决定了我们在设计一个软件的时候考虑问题的出发点,或者思维方式。
编程的思维方式:面向对象、面向过程,编程的思维方式有很多。
面向对象的思维方式 :
面向对象就是模拟现实世界中,以人正常的思维方式去考虑软件中遇到的问题,去解决。
比如说:
1.进行需求的分析 2.找到系统中参与的所有对象 3.设计好每个对象的功能【每个对象具体功能设计还是面向过程的】 4.调用对象的功能完成软件中的业务设计 。
面向过程的思维方式:
面向过程就是“自顶而下 逐步细分”,将整个系统分为若干个子模块,对每个模块进行逐一的实现 。
面向接口:在开发过程中,由于分工协作,需要将自己的模块提供相应的接口,其他模块在开发时,应该根据接口来进行相应的开发。
面向服务:在非常复杂的企业级的项目中,会将各个功能封装相应的服务,提供给其他(外部)的调用者调用,叫做面向服务的编程。
类的概念
具备有相同特征和行为的对象抽象出来的概念叫作类
类的组成
类的组成是由两个部分 属性 方法 二者统称为类中的成员
类是JAVA程序构成的基本单位,所谓开发一个JAVA项目就是一个不断的写类的过程,抽象的过程其实就是一个找共性的过程
类与对象的关系:类是对象的抽象,对象是类的具体化。类是对象的模板,对象根据类这个模板创建出来的实体。
//语法:
public class 类名{
//属性的定义
//方法的定义
}
JAVA应用的开发过程:
第一步:项目的需求分析
第二步:根据需求确定当前项目有哪些对象的参与
第三步:编写每个对象对应的类并实现对应的功能
第四步:通过类创建对象
第五步:调用对象的方法完成软件中的功能
通过类创建对象的过程也称为“实例化”
//语法:
类名 对象名 = new 类名();
类就是数据类型,设计一个类其实就是创建了一种新的数据类型,可以用来声明变量 、数组、方法的返回类型、方法的参数类型,类可以看成是一种更复杂的数据类型
访问方法:语法:对象名.成员名
public class Test {
public static void main(String[] args) {
//1.创建一个学生对象
Student s1 = new Student();
//2.访问对象的成员
//属性访问:赋值和取值[对象的初始化]
s1.sno = "1";
s1.name = "张三";
s1.age = 18;
s1.gender="男";
s1.score=99.5;
System.out.println("姓名:" + s1.name);
System.out.println("成绩:" + s1.score);
//方法的调用
s1.study();
s1.sleep();
}
}
对象的内存分配
JVM内存被分为两个部分:1.栈内存 2.堆内存
栈内存的特点:访问速度快 空间相对较小
堆内存的特点:访问速度相对较慢 空间大
new 表示开辟新的空间,而且一定是在堆内存中开辟
一个对象创建完成后在内存中占两块空间:1.栈中保存的是对象在堆中的地址 2.堆中保存的是对象真正的属性数据
对象的数据是保存在堆中,JAVA中规定堆中的数据程序员是不能直接访问的,只能通过栈中的地址间接去访问