小孩玩游戏问题及 Java 静态|学习笔记

简介: 快速学习小孩玩游戏问题及 Java 静态。

开发者学堂课程【Scala 核心编程-基础:小孩玩游戏问题及 Java 静态】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8983


小孩玩游戏问题及 Java 静态

 

内容介绍

一、小孩玩游戏问题

二、Java 的静态概念

 

一、小孩玩游戏问题

1.引出问题

在选 java 的时候,将静态东西一旦引入,难度就变大了。因为静态属性和静态方法引入它导致整个面向对象的一些机制复杂度增加。所以先提出一个问题,引出静态属性。以目前学的 Scala 一个面向对象的知识的结构,能不能完成问题。

例:有一群小孩子在玩堆雪人。不时有小孩加入到这个游戏中,请问如何知道现在共有多少人在玩?请使用面向对象的思想编写程序解决。

2.代码实现

定义一个小孩类,来一个小孩就再定义一个全局变量,来一个加一个。这样做不是面向对象,因为一定要统计这个人的个数,放在一个对象里才是面向对象。新建 package 叫 chapter08再建一个 TestchildGame 选择 object。

public class TestchildGame{

public static void main(string[] args) {

//传统方法

//创建很多小孩加入游戏

//定义一个变量来累积  totalNum

Var totalNum = 0

}

}

Class child{

}

totalnumber 没有在一个对象里,即使在一个对象里,totalnumber 应该跟 child 有些关系才是完美的一个解决方法。现在用传统的方法来解决不太好用,就引出了静态的一个概念。

 

二、Java的静态概念

简单的回顾一下 java 是如何思考问题。怎么在 java 里实现这个问题?它有一个静态的方法或者静态属性。一个人玩游戏就加进去,所以 java 的静态方法是可以完成的。但是 java 中的静态方法并不是通过对象调用,而是通过类对象来调用。虽然静态的东西也可以当做对象来使用,但是 Scala 的设计者认为 java 里面的静态这一部分不是面向对象的。所以在 Scala 里面拿掉了传统的静态属性和静态方法。

具体怎么做?在 Scala 里静态的概念通过伴生对象来体现:Scala 语言是完全面向对象的及万物皆对象的语言,所以并没有静态的操作,即 Scala 中没有这种传统的静态概念。但是为了能够跟 java 语言交互,完美的融合在一起,就设计了一个特殊的对象叫模拟类对象,称之为类的伴生对象。这个类的所有静态内容都可以放置在他的伴生对象中声明和使用。

相关文章
|
6月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
391 5
|
3月前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
|
3月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
9月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
191 13
|
11月前
|
Java
Java实现贪吃蛇游戏
本文介绍了如何使用Java实现一个简单的贪吃蛇游戏。
534 4
|
4月前
|
设计模式 人工智能 前端开发
现代 Java 实现数字华容道与石头迷阵游戏的项目实战及项目开发指南
本项目基于Java 17+,采用JavaFX与MVC架构,实战开发数字华容道/石头迷阵游戏。内容涵盖技术选型、核心逻辑、现代GUI设计、动画实现及项目打包发布,结合sealed class、record等新特性,打造简洁可维护的游戏代码结构。
203 0
|
5月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
326 4
|
9月前
|
开发框架 Java 开发工具
【Java全栈学习笔记-U1-day01】Java介绍
本笔记整理了Java学习的基础内容,涵盖程序理解、Java语言特性、JDK安装与配置、Java程序开发工具及编写步骤。重点介绍了Java程序的基本结构、编译和运行过程,以及输出语句的使用。通过实例演示了IDEA创建Java程序的方法,并强调了编码规范和注意事项。适合初学者复习和交流学习。 主要内容: 1. 理解程序:计算机组成、程序定义。 2. 简介:Java语言特点、技术平台、JDK作用。 3. 编写Java程序:编写、编译、运行步骤,基本结构。 4. 输出语句 5. DEA使用:新建工程、保存位置、文件介绍、新建类。 6. 扩展:注释、代码规范、大小写敏感、缩进等。
|
11月前
|
IDE Java API
Java游戏开发基础:从零开始制作一个简单的2D游戏
本文介绍了使用Java开发一个简单的2D避障游戏的基础流程。
962 10