如何定义类和属性的使用|学习笔记

简介: 快速学习如何定义类和属性的使用。

开发者学堂课程【Scala 核心编程-基础:如何定义类和属性的使用】学习笔记,与课程紧密联系,让用户快速学习知识。

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


如何定义类和属性的使用

 

内容简介

一、类和对象的区别和联系

二、定义类

三、属性

 

一、类和对象的区别和联系

1、区别

(1)、类

是抽象的、概念的,代表一类事物。比如人类、猫类...

(2)、对象

是具体的、实际的,代表一个具体事物。

2、联系

(1)、类是对象的模板,对象是类的一个个体,对应一个实例

(2)、Scala 中类和对象的区别和联系和 Java 是一样的。

 

二、定义类

1、基本语法

[修饰符]class 类名{

类体

}

2、注意事项

(1)、public

1、理论

scala 语法中,修饰符可不进行编写,类不进行声明,默认其为 public。所有此类都具有公有可见性。声明后反而会被系统报错

2、实例

classA {  //不进行编写,其本身默认为 public

//若此时进行画蛇添足的说明更改为:

public classA {

}

//此时系统在前方进行报错:wrong top statement declaration

(2)、类名定义方式

与 java 相同

(3)、类体

与 java 相比进行了变化

(4)、public

scala 语法中,类并不声明为 public,所有这些类都具有公有可见性(即默认就是 public)

(5)、可见性(访问修饰符)

后续课程中在进行详细介绍

(6)、包含类的数量

1、理论

一个 Scala 源文件可以包含多个类,且全为 public。

2、实例

class Dog{

class Fish{

class Cat{

//运行

D:\program\jdk8\java...

ok ~

//关闭后刷新再次打开

//此时多出两个空白文件:Dog.class、Fish.class,两文件都属于 public

 

三、属性

1、基本介绍

(1)、理论

属性是类的一个组成部分,一般为值数据类型,也可为引用类型。比如此前定义猫类的 age 为值类型的属性,但其同样可以作为一个引用类型。由于 java 同样可进行此操作,此方面需进行与 java 语法的类比。

即属性中除了放整型、字符串,也可放入其他属性

(2)、实例

class Dog{

var name = jack

var lover = new Fish //此处引用是合理的

}

class Fish{

class Cat{

相关文章
|
2月前
|
小程序 Java 关系型数据库
基于微信小程序的智慧养老服务系统
本系统基于Java、MySQL和Spring Boot技术,构建高效、安全的养老院管理系统,提升信息处理速度与管理规范性,实现数据自动化备份与网络化管理,助力养老机构信息化升级。
|
新零售 城市大脑 分布式计算
阿里云2019北京峰会之我见(商业篇)
整场大会听下来,我用两个字来总结那就是”共赢“。 希望大家都能赢!
4576 0
|
XML Android开发 数据安全/隐私保护
Android DEX加壳
1. APP加固 1). 原理 图1.png 加密过程的三个对象: 1、需要加密的Apk(源Apk) 2、壳程序Apk(负责解密Apk工作) 3、加密工具(将源Apk进行加密和壳Dex合并成新的Dex) 2). DEX头内容 图2.png 需要关注的字段: checksum 文件校验码 ,使用alder32 算法校验文件除去 maigc ,checksum 外余下的所有文件区域 ,用于检查文件错误 。
2367 0
|
5月前
|
人工智能 NoSQL Redis
企业级Agent系统中AI决策错误带来损失,如何通过HITL机制解决?
本文AI专家三桥君探讨了企业级Agent系统中Human-in-the-Loop(HITL)机制的关键作用,旨在解决AI在复杂业务场景中“聪明但错误”的决策问题。通过单机模式(LangGraph中断恢复)、工具调用管控(集中看守/自我管理)及分布式架构(FastAPI+Redis)三种方案,实现人类专家在关键节点的精准干预。三桥君还提出故障恢复策略与异步优化等企业级实践,强调HITL能有效降低AI决策风险,提升系统可靠性,为AI产品经理提供技术落地方向。
239 0
|
5月前
|
JSON 前端开发 Java
Java新手指南:如何在Spring MVC中处理请求参数
处理Spring MVC中的请求参数是通过控制器方法中的注解来完成的。这些注解包括 `@RequestParam`, `@PathVariable`, `@ModelAttribute`, `@RequestBody`, `@RequestHeader`, `@Valid`, 和 `@RequestMapping`。使用这些注解可以轻松从HTTP请求中提取所需信息,例如URL参数、表单数据或者JSON请求体,并将其转换成Java对象以供进一步处理。
506 17
|
9月前
|
人工智能 Java 程序员
一文彻底搞定HarmonyOS NEXT中的属性动画
本文介绍了HarmonyOS中的属性动画,通过改变UI属性(如宽度、高度、颜色等)实现平滑过渡效果,提升用户体验。代码示例展示了如何声明状态变量、设置动画属性并触发动画,支持无限循环和加载时自动启动动画。旨在帮助开发者更好地掌握属性动画的应用。
284 5
一文彻底搞定HarmonyOS NEXT中的属性动画
|
9月前
|
传感器 人工智能 监控
2025年五款电梯维保管理系统评测
本文对市面上主流的电梯巡检系统优缺点进行分析,方便大家可根据自身规模和技术能力选择合适的巡检系统。
|
10月前
|
安全 数据安全/隐私保护
如何制作劳务人员实名制管理二维码?
在建筑行业,二维码技术正革新人员管理方式。通过为每位工人配备专属二维码,企业可实时掌握其身份、培训和安全状况,简化信息录入与查询流程,提升管理精度与效率,降低安全风险。典型应用案例包括中建三局、中铁上海局等企业,通过二维码实现智能化、精细化管理。制作实名制二维码简单快捷,涵盖信息收集、登录草料二维码官网、批量生成及打印发放等步骤。此外,二维码还在设备管理、区域巡查、信息展示和安全生产教育等方面发挥重要作用,助力企业实现数字化转型,提升整体工作效率与安全性。
|
算法 安全 调度
操作系统(8)---进程的同步与互斥以及信号量机制(万字总结~)(1)
操作系统(8)---进程的同步与互斥以及信号量机制(万字总结~)
631 0
操作系统(8)---进程的同步与互斥以及信号量机制(万字总结~)(1)