hpe实训课01

一、案例引入:五子棋

1.面向过程:
将事务按照一定的步骤实现,通过函数的方式执行步骤。
①.开始游戏
②.执黑先行
③.绘制图形
...
游戏结束
2.面向对象:
把构成的事务划分成一个个对象来处理
①.游戏用户
②.棋盘对象
③.规则对象
3.优缺点
①.面向过程:效率高(如果使用面向对象的方式来开发,会创建对象,开销比较大) 可维护性较低(耦合度高)
eg:单片机、嵌入式开发、Linux操作系统
②.面向对象:效率低、可维护性比较高(耦合度低)
eg:应用系统

二、面向对象

1.类
类是抽象的,是用来描述事物的。(不占内存)
2.对象
对象是具象的,是实际用来干活的。(占内存)
属性:静态的(固有特征)
行为:动态的(方法)
3.类和对象之间的关系
类是对象的描述
对象是类的实例
4.类的结构
①.属性
②.方法
③.构造器
5.面向对象的特征
①.封装:将事务的内部细节隐藏起来,对外暴露访问的借口。
②.继承:子类可以拥有父类的属性和行为。继承最大的好处:提升代码的复用性。
③.多态:同一个动作作用于不同的对象产生的不同行为。
多态的类型:编译时多态(方法重载)和运行时多态

三、java程序执行流程

①.将编写的java源程序(.java)通过编译器生成字节码文件(.class)
②.通过JVM类加载器加载所有的字节码文件
③.加载完字节码文件后交给JVM执行引擎执行Java程序
注意:所有的Java程序最终都是在运行时数据区来运行。

在这里插入图片描述

四、Java的内存结构

①.方法区
-类的信息(访问修饰符 类名(包名+类名))
-静态的成员的属性(static修饰的成员属性)
-常量(stiatic final 修饰的成员属性)
-静态方法(static修饰的成员方法)
-成员方法
②.堆
-new出来的对象
-数组、接口
③.栈
-局部变量
-对象的引用

1.语法 访问修饰符 class 类名{}
2.类的组成
 ①.属性(成员属性或者成员变量)
 	-- 语法:访问修饰符 数据类型 属性名称 Public String name;
	-- 分类:
	--普通的成员变量:存储在堆里
	--类变量(静态变量):随着类的加载而加载 ,存储在方法区。  static int age;
	--常量 :存储在方法区的常量池里边   static final String country = "CHINA"
 ②.方法
 ③.构造器
3.访问修饰符
--public:公开的 在任何位置都可以访问
--private:私有的 只有在当前类中可以访问
--protected:受保护的 在同一个包中访问或者在派生类中可以访问
--default:默认的 缺省的 在同一个包中可以访问
4.成员方法
5.构造器
①.通过构造器构建对象
②.通过构造器可以初始化成员属性(给成员赋值)
③.构造器可以重载
6.创建对象
语法:new 构造器;Person person = new Person();
流程:当通过new 构造器之后,会在堆空间开辟一段内存,来保存这个实例,会产生一个引用实例
	将来可以将引用地址交给在栈空间中声明的变量。
7.局部变量和成员变量
①.作用域不同
	-- 成员变量是在类中声明
	-- 局部变量是在方法内(方法体内或形参列表)
②.存储位置不同
	-- 成员变量存储在堆中
	-- 局部变量存储在栈中
③。初始值或赋值不同
	-- 成员变量都有默认值(引用数据的初始值都为NULL)
	-- 局部变量没有默认值,只有显示的赋值才能访问。

一些很杂乱的小知识点:

1. alt+shift+s:弹出 创建构造方法
2. ctrl + 1 : 自动 声明一个变量去接受一个结果
3. Math.pow(r,2) : r的二次方
4. 把result变为 保留两位小数的小数

在这里插入图片描述

5.将字符串类型的format转变为双精度类型

在这里插入图片描述

6.将字符串类型的str2转换为char类型的数组

在这里插入图片描述

7.将char类型的数组转换为一个字符串

在这里插入图片描述

发布了5 篇原创文章 · 获赞 0 · 访问量 42

猜你喜欢

转载自blog.csdn.net/qq_38499019/article/details/103948028