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使 ...
随机推荐
- robotframework之去除空格、去掉前面的0、增加空格换行符的方法,两个字符之间的拼接
1.去除空格 A)若需要去除两个拼接字符之间的空格,可以使用robotframework中的关键词Catenate,需要注意的是SEPARATOR=一定需要大写 B)若在一个字符串中存在空格,且需要去 ...
- 【爬虫】如何用python+selenium网页爬虫
一.前提 爬虫网页(只是演示,切勿频繁请求):https://www.kaola.com/ 需要的知识:Python,selenium 库,PyQuery 参考网站:https://selenium- ...
- 联想拯救者r720+固态浦科特M8PeGN 的bios 设置
最近笔记本左边的两个usb3.0接口都坏了,win10 报错usb端口上的电涌 真是一脸蒙B! 然后去打售后电话,说昌平没有售后,需要去海淀黄庄去维修,然后下午就去了那里,维修的人员说硬件坏了,需要1 ...
- wps excel
ET.Application etApp;ET.workbook etbook;ET.Worksheet etsheet ;ET.Range etrange;//获取工作表表格etApp = new ...
- 【缓存算法】FIFO,LFU,LRU
一.FIFO算法 FIFO(First in First out),先进先出.其实在操作系统的设计理念中很多地方都利用到了先进先出的思想,比如作业调度(先来先服务),为什么这个原则在很多地方都会用到呢 ...
- Evosuite使用方法入门
Evosuite使用方法入门 1.简要介绍 EvoSuite开源工具可以基于Eclipse进行测试用例的自动生成,生成的测试用例符合Junit标准(直接生成可进行Junit的java文件),满 ...
- Visual Studio 2017 Android 调试无法连接到虚拟机
输出窗口输出如下: 1>Starting deploy 4.5" KitKat (4.4) HDPI Phone ... 1>Starting emulator 4.5" ...
- zabbix自动发现及其自动注册
在大企业环境中,不可能在zabbix页面上逐个添加被监控的主机.还好zabbix自带自动发现和自动注册功能 被监控端安装zabbix客户端之后,将配置文件配置指向服务器端ip即可.红色箭头改为zabb ...
- Java技术之如何保证同一资源被多个线程并发访问时的完整性?
常用的同步方法是采用信号或加锁机制,保证资源在任意时刻至多被一个线程访问.Java语言在多线程编程上实现了完全对象化,提供了对同步机制的良好支持. 在Java中一共有四种方法支持同步,其中前三个是同步 ...
- Redis 5.0.3集群部署
参考文章 https://blog.csdn.net/yyTomson/article/details/85783753 https://www.cnblogs.com/zy-303/p/102731 ...