Head First Java.(第2版)
优点:语法
面向对象
内存管理
和最棒的跨平台可移植性
缺点:
慢
JVM Java(虚拟机)
编译后的字节码与平台无关。
你的朋友不会买一台真正的Java机器,但是他们都会有Java虚拟机(通过软件实现)。此虚拟机可以读取与执行字节码。
你要做的事情
1.编写源代码文件,用Javac编译程序把文件进行编译,然后在某个Java虚拟机上执行编译过的字节码。
4步:1.源代码Party.java 2.执行Javac程序来编译Party.java。3.编译成为代码:Party.class 4.启动Java虚拟机(JVM)来运行Party.class文件。JVM会将字节码转换成平台能够理解的形式来运行。
J2ME(Micro Edition)
J2SE(Standard Edition)
J2EE(Enterprise Edition)
数组容器
String[] a = {"1", "2", "3", "4", "5"};
继承、 覆盖。
当你在设计类时,要记住对象是靠类的模型塑造出来的。
你可以这样看:
1.对象是已知的事物
2.对象会执行的动作
对象本身已知的事物,被称为实例变量。它们代表对象的状态(数据),且该类型的每一个对象都会独立的拥有一份该类型的值。
所以你也可以把对象当作实例。
对象可以执行的动作叫做方法。在设计类时,你也会设计出操作对象数据的方法。对象带有读取或操作实例变量的方法是很常见的情形。举例来说,闹钟对象会有个变量来保存响铃时间,且会有getTime()与setTime()这两个方法来存取该时间。
因此说对象带有实例变量和方法,但它们都是类设计中的一部分。
二、类和对象两者之间的有什么不同?
类不是对象(却是用来创建它们的模型)
类是对象的蓝图。它会告诉虚拟机如何创建某种类型的对象。根据某类创建出的对象都会有自已的实例变量。举例来说,你可以根据按钮类来创建出许多大小、颜色、文字等不同的按钮。
也可以这样说,对象就好比通信薄中的一笔数据,通信薄的每张卡片都有相同的空白字段(实例变量)。填入新的联络人就如同创建新的实例(对象),填入卡片的数据代表联络人的状态。
这个卡片类上的方法就是你会对卡片作的事情:getTel()、changeAddress()、deleteCard()等。所以每张卡片上能够执行相同的操作,但取出的结果应该是依每张卡片各自独立的。
三、创建你的第一个对象
要作出哪些东西才会运用对象呢?你需要两个类。(例如说Dog、AlarmClock和Television等)一个是要被操作于对象的类,另外一个是要来测试该类的类。测试用的类带有main()并且你会在其中建立与存取被测的对象。
本章后续章节的内容会有许多双类的范例。测试用的类会被命名为“受测试类的名称”+ TestDrive。例如说要测试Bungee这个类,我们会作出一个带有main()的BungeeTestDrive。它会创建出Bungee的对象,并使用圈点(.)符号所代表的操作数来存取该对象的变量与方法。看过下面的范例后就应该更清楚了。
1.编写类
class Dog{
int size;
String breed;
String name;
void brak(){
System.out.println("Ruff, Ruff!");
}
}
2.编写测试用的类
class DogTestDrive{
public static void main(String[] args){
//Dog测试码
}
}
3.在测试用的类中建立对象并存取对象的变量和方法
class DogTestDrive{
public static void main(String[] args){
Dog d = new Dog();
d.size = 40;
d.bark();
}
}
如果你曾经学习过面向对象的话,你会知道我们并没有用到封装,第4章会讨论这个问题。
Head First Java.(第2版)的更多相关文章
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- 《Thinking In Java第四版》拾遗
<Thinking In Java第四版>拾遗 转自我的github(http://katsurakkkk.github.io/2016/05/Thinking-In-Java%E7%AC ...
- Java实现简单版SVM
Java实现简单版SVM 近期的图像分类工作要用到latent svm,为了更加深入了解svm,自己动手实现一个简单版的. 之所以说是简单版,由于没实用到拉格朗日,对偶,核函数等等.而 ...
- 工厂方法模式(Java与Kotlin版)
前文推送 设计模式 简单工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次 ...
- 抽象工厂模式(Java与Kotlin版)
前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操 ...
- 建造者模式(Java与Kotlin版)
前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) 抽象工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比J ...
- 《Effective Java(中文第二版)》【PDF】下载
<Effective Java(中文第二版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382186 Java(中文第二版)& ...
- 《Effective Java中文版第二版》读书笔记
说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...
- 《Effective Java 第三版》新条目介绍
版权声明:本文为博主原创文章,可以随意转载,不过请加上原文链接. https://blog.csdn.net/u014717036/article/details/80588806前言 从去年的3月份 ...
- Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)
之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...
随机推荐
- mybatis 中javaType和OfType 的区别
JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型.pojo类: publiccla ...
- ARM Cortex M0 程序映像和启动流程
- 2018-2019-2 20165308网络对抗技术 Exp6:信息收集与漏洞扫描
2018-2019-2 20165308网络对抗技术 Exp6:信息收集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册 ...
- 【MatConvNet代码解析】 vl_nnsoftmaxloss
背景知识:http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 假设softmax层的输入(softmax ...
- Git 安装和使用教程
Git 安装和使用教程 git 提交 全部文件 git add . git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件.注意 ...
- webRTC中音频相关的netEQ(四):控制命令决策
上篇(webRTC中音频相关的netEQ(三):存取包和延时计算)讲了语音包的存取以及网络延时和抖动缓冲延时的计算,MCU也收到了DSP模块发来的反馈报告.本文讲MCU模块如何根据网络延时.抖动缓冲延 ...
- 20164310Exp1 PC平台逆向破解和BOF基础
1.逆向及Bof基础实践说明 1.1实践目标 实践对象:pwn1的linux可执行文件 实践目的:使程序执行另一个代码(ShellCode) 实践内容: 手工修改可执行文件,改变程序执行 ...
- 实现mypwd和mybash
一.pwd 1.学习pwd命令 man pwd查看pwd功能 可以得知pwd功能是打印当前目录 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 (1)man -k direc ...
- C++日常应用-定时器
定时器的使用:分为有句柄 无句柄两类 有句柄情况下的使用:头文件: 1.添加映射 BEGIN_MSG_MAP(类名) MESSAGE_HANDLER(WM_TIMER, OnTimer) END_MS ...
- WinForm-简单21点纸牌小游戏
纸牌游戏有很多种玩法,C#代码写的纸牌游戏,网上也能找到不少,从中也能学习到不少知识,自己动手也写一个,算是记录下学习过程吧. 纸牌21点的玩法也比较简单,就是看谁手中的所有牌相加是21点,或是离21 ...