Java基础复习—面向对象编程

文章目录

        • 面向对象
            • 面向对象简介
            • 类的抽象
            • 对象的创建
            • 对象属性的自动初始化

面向对象

面向对象简介

​ 面向对象的编程思想以对象的抽象为导向,将现实世界的万事万物都抽象为程序中的对象,对象是数据和操作的封装体,将一组具有相同数据和操作的对象抽象为类型(类)。

​ 面向对象是指面向客观事物之间的关系,人类日常的思维方式是面向对象,自然界事物之间的关系是对象与对象之间的关系。

​ 首先根据客户需求抽象出业务对象;然后对需求进行合理分层,构建相对独立的业务模块;之后设计业务逻辑,利用多态、继承、封装、抽象的编程思想,实现业务需求;最后通过整理各模块,达到高类聚,低耦合的效果,从而满足客户需求。

面向对象中有以下几个概念

类型(类):指一个名词概念

引用(变量):指引用具体概念实例的代词

对象(东西):指具体概念的个体实例

行为:方法

多态:行为或引用,在具体情形下会发生变化的形象

封装:任何对象实例都是尽量封装,减少暴露,实现细节透明化

继承:略

类的抽象

​ 类的抽象就是抽象类的属性和方法,属性是类的静态特征,方法是类的动态行为。

​ 类是 Java 的数据结构,类封装了一组数据和对该数据的一组操作的集合

例如把一本书抽象为一个类:

public class Book {
    //对象的创建
    //成员变量存储在堆内存中
    long id;		 		 //编号
	String isbn;	  		 //书号
	static String name; 	 //书名
	String[] authors;		 //作者
	double price;	 		 //价格
}
对象的创建

​ 类是一种数据类型的定义,在程序运行中还需要对象,对象是类的实例

生成类的实例(对象)需要使用以下语法:

Book book = new Book();

​ 计算机执行Java程序时会在内存中开辟一块栈内存(stack)空间,在程序运行期间,JVM(Java虚拟机)还开辟了堆内存(heap)空间

栈内存空间的存储特点是"后进先出",堆内存空间的存储特点和栈不同,类似于一盘散沙,随处可以"堆放"

注意(找不到图,P115):

​ (1)栈内存中声明引用变量(例如:book),引用变量指向堆内存中的实例化对象(例如:Book类自定义的对象)

​ (2)属性有初始值

​ (3)我们将堆内存里的东西称为"对象",对应现实世界的事物

对象属性的自动初始化

​ 创建完对象后,对象的属性时自动初始化的,代码如下:

public class Class02 {
	public static void main(String[] args) {
		Book book = new Book();
		System.out.println(book.id);
		System.out.println(book.name);
		System.out.println(book.price);
	}
}
//运算结果:0 null 0.0

你可能感兴趣的:(java基础)