Java Language Specification Java SE 9 Edition学习笔记-基本概念

Java Language Specification(Java编程规范)中英文 Java Language Specification(Java编程规范)中英文合集 这是我从网上分别下的中文版和英文版打包在一起的,希望能为你们节省很多搜索找寻时间,其中那个中文版真的很难找~~ 立即下载

4.类型、值和变量

Java语言是静态类型语言,这意味着每个变量和表达式在编译的时候是类型是已知的。


Java语言也是强类型语言,因为类型限制了变量能容纳的值,限制了表达式能生成的值,限制了操作符支持的值,决定了操作符的含义。强静态类型可以在编译时检测错误。


Java语言的类型分为两大类:原始类型和引用类型。

4.1 类型和值的种类

Java语言有两大种类的类型:primitive types(原始类型)和reference types(引用类型)

相应的,可用于存储变量、传递参数、方法返回值和被操作的数据值的类型包括:基本值和引用值。


4.2 原始类型和基本值

原始类型是Java语言用预留关键字预先定义好的。

基本值之间不共享状态。

原始类型分类如下:

PrimitiveType:
{Annotation} NumericType
{Annotation} boolean


NumericType:
IntegralType
FloatingPointType


IntegralType:
(one of)
byte short int long char

FloatingPointType:
(one of)
float double



4.3 引用类型和引用值

引用类型包括4个种类:类、接口、类型变量和数组类型,具体分类如下:

ReferenceType:
ClassOrInterfaceType
TypeVariable
ArrayType


ClassOrInterfaceType:
ClassType
InterfaceType

ClassType:
{Annotation} Identifier [TypeArguments]
ClassOrInterfaceType . {Annotation} Identifier [TypeArguments]

InterfaceType:
ClassType

TypeVariable:
{Annotation} Identifier

ArrayType:
PrimitiveType Dims
ClassOrInterfaceType Dims
TypeVariable Dims


Dims:
{Annotation} [ ] {{Annotation} [ ]}

示例:

class Point { int[] metrics; }
interface Move { void move(int deltax, int deltay); }
4.3.1 Objects
对象是类的实例或一个数组。

4.3.2  Object类
Object类是其他所有类的超类。

所有的类和数组均继承了Object类的如下方法:
  • clone :对象拷贝
  • equals:定义了对象相等的概念
  • finalize :对象销毁前执行
  • getClass :返回对象所属的类
  • hashCode:
  • wait, notify, and notifyAll :用于线程中的并发编程
  • toString:对象的String表示方式

4.3.3 String类
String对象有一个常量值。


4.3.4 引用类型什么时候是相同的

4.4 类型变量

        类型变量是一个非限定标识符,用于类、接口、方法和构造主体中的类型。

        

        类型变量是通过声明一个泛型类、泛型接口、泛型方法或泛型构造函数的类型参数引入的。(参考8.1.2、9.1.2、8.4.4、8.8.4)


        每个声明为类型参数的类型变量都有一个边界。如果一个类型变量没有声明边界,那么假定为Object。如果声明了边界,那么它包含如下之一:

  • 单类型变量T
  • 类或者接口类型T可能紧跟着接口类型I1 & ... & In

4.5 Parameterized Types
4.6 Type Erasure(类型擦除)


类型擦除是类型到类型的映射。擦除映射定义为如下(|T|记做类型T的擦除类型):


。。。






因为在编译期间一些类型信息是要被擦除的,所以并不是所有的类型在运行时都是可用的。在运行时完全可用的类型称之为可具体化的类型。


4.7 Reifiable Types(可具体化的类型)


因为在编译期间一些类型信息是要被擦除的,所以并不是所有的类型在运行时都是可用的。在运行时完全可用的类型称之为可具体化的类型。






一个类型是可具体化的,必须满足如下中的一条:
它指向一个非泛型类或接口类型声明
It is a parameterized type in which all type arguments are unbounded wildcards
raw type
原始类型
元素类型可具体化的数据类型
is a nested type where, for each type T separated by a ".", T itself is reifiable.


交集类型不是可具体化。


4.8 Raw Types
4.9 Intersection Types(交集类型)
4.10 Subtyping(子类型化)
4.11 什么地方使用类型?

4.12 变量

变量是一个存储位置,并关联了一个类型,有时候称之为编译时类型,是一个原始类型或引用类型。


变量的值通过赋值或者++、--前缀或后缀运算符。

4.12.1 原始类型的变量

原始类型的变量通常容纳准确的原始类型的原始值。

4.12.2 引用类型的变量





4.12.3 变量类型

 变量类型分为8类:


1.类变量:类中用关键字static声明的字段,或接口声明中的字段(不管是否用关键字static声明)


2.实例变量:类中未使用关键字static声明的字段


3.数组组件(Array components):数组组件是未命名的变量


4.方法的形式参数


5.构造方法的形式参数


6.Lambda函数形式参数


7.异常参数


8.局部变量

4.12.4 final变量
变量可以声明为final,final变量只能够赋值一次。

4.12.5 变量的初始值
4.12.6 类型、类和接口


待续.........

        

The Java Language Specification, Java SE 8 Edition 无水印pdf The Java Language Specification, Java SE 8 Edition 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除 立即下载

相关推荐

The Java Language Specification, Java SE 8 Edition epub

The Java Language Specification, Java SE 8 Edition 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

java language specification Java SE 8 Edition 中文版(第一章)

java 编程语言规范(第八版第一章) 这几天在看 java 虚拟机规范,发现java编程语言规范目前还没有中文版,试着翻译一下,如果错误 欢迎批评指正。我会持续更新(beijin9152@163.com 转载请注明出处。谢谢)。 第一章 概述 java 是一种通用,并发,基于类且面向对象的编程语言。它设计的力求简单使得编程者可以清楚编写。java语言借鉴了c和c++但也有很大的区别,

edwardqiang的博客 6506

The Java Language Specification Java SE 8 Edition Java编程规范

The Java Language Specification Java SE 8 Edition Java8官方编程规范

java概述

什么是计算机 首先,计算机由CPU(中央处理器),内存,存储设备,输入设备,输出设备,通信设备组成,这些通过总线连接。 CPU:CPU 通常由两部分组成 : 控制单元 ( control unit ) 和算术 / 逻辑单元( arithmetic / logic unit ) 0 控制单元用于控制和协调其他组件的动作 。 算术 / 逻辑单元用于完成数值运算 ( 加法 、减法 、乘法 、除法 )和...

qq_45923849的博客 313

《Java Language Specification》 下载

NULL 博文链接:https://webxyz.iteye.com/blog/283732

The Java Language Specification, Java SE 12 Edition.rar

The Java Language Specification, Java SE 12 Edition.rar java 12 规范

java language specification官方地址

背景: 刚才在看volatile修饰符的时候看到作者都是在阅读了java language specification后翻译为自己的理解讲述出来的 调查: java language specification即java语言规范,是一切java编程的基础参照文档。 官方文档(Java Language and Virtual Machine Specifications): http:/

谨慎对事 低调行事 0与1的世界 浩瀚如海 学无止境 1458

鲁棒优化入门(6)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(上)

Matlab+Yalmip两阶段鲁棒优化通用编程指南(上篇),内容包括: ①.拿到一个复杂的两阶段鲁棒优化问题的分析步骤和方法。 ②.采用Yalmip工具箱中的uncertain函数和鲁棒优化模块求解两阶段鲁棒优化的子问题。 ③.Yalmip工具箱中的鲁棒优化模块和常规的求解思路有什么异同。 ④.使用KKT条件求解两阶段鲁棒优化的子问题,并使用C&CG算法进行迭代求解。

配电网和matlab的博客 1万+

Java 版本、语言规范、API、JDK、IDE、Java 源程序编译(1)

Java 语言规范(Java Language specification)是对语言的技术定义,包括 Java 程序设计语言和语法的定义。应用程序接口(Application Program Interface,API)也称为库,包括为开发 Java 程序而预定义的类和接口。在不断地扩展。Java 开发工具包(Java Development Toolkit,JDK)是一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和测试 Java 程序。Java SE 8 对应的 Java 开发工具包称为 J

2401_84166147的博客 1228

芯片设计新手必看:5分钟搞懂工艺角(Process Corner)到底是什么,为啥仿真总要用它?

本文详细解析了芯片设计中的工艺角(Process Corner)概念及其在仿真中的重要性。通过类比马拉松运动员的性能差异,解释了晶体管制造过程中的天然波动,并介绍了TT/FF/SS等工艺角代码的含义。文章还探讨了为何需要跑全工艺角仿真,以及现代芯片验证的完整流程,包括PVT矩阵和多模式分析(MMMC),帮助芯片设计新手快速掌握这一关键概念。

weixin_28713947的博客 246

水环境综合管控平台完整方案

水环境综合管控平台项目(2026-2027)摘要 项目概况: 总投资5亿元的水环境综合管控平台项目,是国家数字政府与生态文明建设战略的重要实践。项目严格遵循2026年最新政策标准,整合物联网、大数据和AI技术,构建覆盖水质监测、污染溯源、生态保护等全流程的智能管控体系。 核心内容: 系统架构:采用五层设计(基础设施层至展示层),集成10大核心功能模块,包括水质动态监测、污染智能溯源和生态评估预警系统; 技术创新:运用2026年最新边缘计算和数字孪生技术,实现毫秒级水质异常响应和三维流域仿真; 实施规划:分7

随读手记 405

Java Language Specification Java SE 9 Edition学习笔记-语言特性主线

JSL的内容比较多,比较细,先以各版本语言特性的主线进行选择性学习: J2SE各版本新引入的语言特性如下: 1.1 J2SE 1.4 Assertion Facility 1.2 J2SE 5.0 Generics(泛型)Enhanced for Loop Autoboxing/UnboxingTypesafe EnumsVarargsSt

coolaaron的专栏 722

Moltemplate建模----水盒子data文件

1功能介绍 Moltemplate是LAMMPS官方支持的建模工具之一,适用于LAMMPS建模。该程序创建了一种简单的文件格式来存储分子定义和力场,即模板LT。LT文件包含与特定分子有关的所有文本(包括坐标,键拓扑,角度,力场参数,约束,组和修复)。 Moltemplate可以复制分子,对其进行自定义,然后用它作为构建更大、更复杂分子的基础。构建后,可以自定义...

元素魔方科研服务 2596

the java language_The Java Language Specification Java SE 14 Edition PDF 下载

主要内容:1.1 Organization of the SpecificationChapter 2 describes grammars and the notation used to present the lexical andsyntactic grammars for the language.Chapter 3 describes the lexical structure of ...

weixin_39688035的博客 239

在pycharm2021.2中学习opencv图像处理,基于python3.9.7、pycharm完成配置

在pycharm中学习opencv图像处理安装python下载python安装包开始安装安装pycharm社区版下载pycharm开始安装如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 安装python 使用pycharm学习opencv应该是最简单的了,对新手比较友好,

steveqobs 7708

解决Word中英文混排的5个常见排版问题(含单词换行、间距调整等)

本文详细解析Word中英文混排的5大常见排版问题,包括单词换行、间距调整、标点混用等,提供专业解决方案。通过设置段落格式、调整兼容性选项和使用字体组合等技巧,帮助用户轻松解决文档排版难题,提升专业性和阅读体验。

vim8coder的博客 1338

Java Language and Virtual Machine Specifications

Java Language and Virtual Machine Specifications url: http://docs.oracle.com/javase/specs/ 20170921 Java Language and Virtual Machine Specifications Java SE 8 The Java Language Specif

jackpk的专栏 849

从 QQ 聊天到 AI Agent:AstrBot + NapCat 接入 DeepSeek

<think>我们根据要求,根据提供的内容生成≤150字的文章摘要。内容是关于在Windows上使用Docker部署AstrBot+NaPCat,配置DeepSeek,实现QQ AI机器人。摘要需简洁概括主要步骤和结论。注意字数。</think>在Windows 11上通过Docker一键部署AstrBot与NapCat,实现QQ机器人。NapCat扫码登录QQ,AstrBot接入并配置DeepSeek API,完成AI对话。后续可扩展人格、插件及MCP工具,并通过cpolar提供公网管理入口,打造可扩展的

天道酬勤 1万+

Java语言规范:基于Java SE 8 下载

Java语言规范:基于Java SE 8 pdf

IT哈哈的博客 2885

机器人学(三):手眼标定

主要讲了eye-to-hand的手眼标定求解算法,包括AX=XB和AX=YB两种情况,包含SVD法、Tsai-Lenz法、最小二乘法等,从原理到解法再到算法代码实现,包括matlab代码、C++代码、库的使用等,简单明了,容易在实际项目中进行应用

行者无疆的博客 2554

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JVM Specification 9th Edition (2) Chapter 1. Introduction

Chapter 1. Introduction 翻译太累了,我就这样的看英文吧。 内容列表 1.1. A Bit of History1.2. The Java Virtual Machine1.3. Organization of the Specification1.4. Notation1.5. Feedback 1.1. A Bit of History ...

weixin_33971130的博客 137

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JDKTM 6 Documentation

JDKTM6 Documentation Download thisDocumentation ...

chenqunan3231的博客 85

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java虚拟机-书籍和网站

(1)books 《The Java Virtual Machine Specification, Java SE 7 Edition 》 《The Java Language Specification, JavaSE 7 Edition》  《Java虚拟机规范 (Java SE 7 中文版)》 《Oracle JRockit The Definitive Guide》 《Insid...

yuzhu 927

Java系列技术(规范历史版本)

Java Language and Virtual Machine Specifications http://docs.oracle.com/javase/specs/ Java SE 7 The Java Language Specification, Java SE 7 Edition Download PDF Download PDF with diffs from Ja

u013014228的专栏 730

java语言编程规范_深入分析 java 8 编程语言规范:Threads and Locks

在 java 并发编程中,线程和锁永远是最重要的概念。语言规范虽然是规范描述,但是其中也有非常多的知识和最佳实践是值得学习的,相信这篇文章还是可以给很多读者提供学习参考的。本文主要是翻译 + 解释 Oracle《The Java Language Specification, Java SE 8 Edition》的第17章《Threads and Locks》,原文大概30页pdf,我加入了很多自...

weixin_28933797的博客 411

# JSR 67:Java™ APIs for XML Messaging 1.0(JAXM 1.0)完整解析

**JSR 67** = **JAXM 1.0(Java API for XML Messaging)**,是JCP(Java社区进程)发布的Java标准规范,全称`Java™ APIs for XML Messaging 1.0`,专门为Java平台定义**基于SOAP的XML消息收发标准API**,是早期Java Web服务体系的核心组件之一。 - 规范状态:Final(正式定稿发布) - 绑定协议:SOAP 1.1 + MIME附件规范(SAAJ) - 归属时代:J2EE 1.3/1.4 时期标准,现

[Blog][Domain] programb.blog.youkuaiyun.com 672
上一篇: 用Maven部署war包到远程Tomcat服务器
下一篇: J2SE概览
coolaaron
博客等级 码龄20年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值