《Head First Java》笔记

本文详细介绍了JAVA语言的主要特点,包括其面向对象的特性、跨平台能力、编译与解释执行的混合机制以及JVM的作用。JAVA通过字节码实现了WriteOnceRunAnywhere的理念。此外,还探讨了JAVA中的变量、对象、数组、封装等概念,强调了对象引用变量的本质以及参数和返回值的处理方式。同时,文章提到了局部变量与实例变量的区别以及==运算符在比较基本类型变量时的作用。
摘要由CSDN通过智能技术生成

JAVA特点

面向对象

简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)

跨平台(操作系统、服务器、数据库)

计算机执行机制

编译执行:将源文件编译成平台相关的机器码文件,后执行

执行效率高、不可跨平台

解释执行:将源文件交给不同的平台独有的解释器

执行效率低,可以跨平台

JAVA执行机制

先编译,后解释

将源文件编译成字节码文件(平台中立文件),再将字节码文件进行解释执行。

JAVA的设计理念:Write Once Run Anywhere

JVM:Java virtual machine(在不同的硬件系统中模拟出相同的环境)

int和boolean不相容,例:while(1)是错误的

面向对象

类与对象

认识变量

primitive主数据类型和引用

实际上并没有对象变量这样的东西,只有引用到对象的变量。对象引用变量保存的是存取对象的方法,他并不是对象的容器,而是类似指向对象的指针。在JAVA中我们不会也不该知道引用变量中实际装载的是什么,它只是用来代表单一的变量。只有JAVA虚拟机才会知道如何使用引用来取得该对象。

所有的对象引用都具有相同的大小,而不管它实际上所引用的对象大小。

数组也是对象

对象的数组:Dog[] pets = new Dog[7];

JAVA注重类型,一旦数组被声明出来,你就只能装入所声明类型的元素。

你不能将Cat类型的对象转入Dog数组中,但你可以将byte类型放进int类型中,被称为隐含展开。

对象的行为

状态影响行为,行为影响状态

参数和返回值

如果传入的参数是对象,实际传入的是引用对象的变量所携带的远程控制而不是对象本身。

返回值可以隐式转换成所需的类型。

封装

封装强迫其他的程序一定经过setter,setter就能检查参数。有些setter只是把值设给变量,好处是需要改变参数的时候,不用改变别的代码。

局部变量没有初始值,而实例变量有初始值。

==用来对比两个primitive变量的字节组合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值