(疯狂java)第四课(上)
趁着周末玩爽了,兴致来了,继续玩玩java(估计再玩下去,就要被java玩了),第六章实在是很长,那就两个阶段来看吧。
1.java 7的增强包装类
这些包装类就是java上的基本类型,只不过人人基本都是C过来的,那么不可避免的有一些惯性的思维。除了int和char类型之外,其余的都是把首字母大写,我靠,这个有点太坑了吧,你哪怕都用JA打头也比这样强,一点特色都没有啊。为了让C语言的基本的类型和包装类之间能够好好的转化,java也很聪明的提供了一些默认的方法,比如xxxvalue()...,有一点要说一下,这个方法会用到缓存的原理,这样避免产生太多的内存分配,是一种不错的策略。
2.toString
如果用过OC的朋友们,可以参考descrbtion方法来理解。这个玩意就是对类的一种描述,可以进行重写,没有什么特殊的意思,可以用来作为类的说明和注释。
3.==和equals
这两个方法但从语言本身来说意思是一样,比较是否相等。不一样的地方在于,==用于变量的时候只要数值一样大,就是返回ture,否则为false。equals是用来作为对象比较的,如果==也用来比较对象呢,很不幸,这个两个意思是一样的,比较两个对象是否是相等,对象怎么才能相等呢,很显然我认为,内存上面地址一样,那就肯定是相等了。书中例子说了一个常量池和新生对象之间比较的问题,这个还是要注意的,毕竟常量还是比较low一点的。
4.类成员
类成员在各种面向对象的编译性语言里面几乎都会涉及,这个玩意就像是给类加了一个尾巴一样,所有的类都有这么一根,而且是唯一的一根尾巴,根据这个特性,单例可以被创造了,单例是很有用的东东,很多的工程都会用到,打个比方说,单例就像是一个收费站一样,只有一个收费入口,每次大家都只能从这个一个地方进,而且你还只有这么一个收费站可以进。
5.final
以前上学的时候感觉这么个东西,简直就是在抄袭C、C++里面的const变量,说白了这个玩意修饰常量的时候,一般就是直接赋值,然后不可改变,如果是修饰对象的时候,那么就不一定了,你不能对这个对象进行简单粗暴的改变,比如直接赋值给这个实例,但是你可以去改变这个实例俩面的某个变量的值,还有一点如果想深入理解,我建议看看const *和* const的区别。在对于局部变量的时候,final的变量是可以先声明,再赋值的。如果修饰方法,那么这个方法就不能被重写了。如果这个方法是私有方法,那么子类依然可以重写,因为私有的方法的范围只能是本类。
6.抽象类
有抽象方法的类一定是抽象类,抽象类里面可以没有抽象方法。这个就比方说,你喜欢吃饼干就是喜欢吃货,但是你是吃货,不一定喜欢吃饼干,就是这么个道理。抽象用abstract来修饰。当你定义了一个抽象方法的时候,必须有子类来进行实现,那么也就是说必须有子类重写实现这个方法,那么这个有什么用呢。比如说你像定义一个交通工具类,那么这个类有个驾驶的方法,但是汽车,自行车的驾驶方法是不一样的,很显然的,你制定了一个标准,让子类们知道要特事特办,而不是千篇一律。同样,还有一点很重要,要说到多态,也就是说,让父类的实例通过子类来进行初始化,而且父类可以直接调用子类的这个实现的抽象方法,这个也就是说上次说的多态。这些都是先生鸡再有蛋的关系,有时候既然有个玩意出现了,那么它肯定是有自己的安排的。
好吧,这个章实好长啊,不看了,碎觉去了。
(疯狂java)第四课(上)的更多相关文章
- Java实验--关于课上找“水王”问题分析
问题的表述就是说有那么一个人,他在一个论坛上发帖,然后每贴必回,自己也发帖.那么这个人在发帖的数目上就超过了整个论坛的帖子数目的一半以上. 我对这个问题一开始的思路是,用SQL语句获取整个列表中的数据 ...
- java web(四)文件上传与下载
一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...
- 疯狂JAVA——第四章 流程控制与数组
4.5 数组类型 数组也是一种类型.它本身是引用类型.例如int是一种基本类型,int[]就是引用类型. 两种定义数组的方式: 1.type[] arrayName; 2.type arrayName ...
- (疯狂java)第三课
最近很忙,都没有看书,罪过... 第五章(面向对象上) 1.类是一种对数据结构的封装,也就是说,一个类在在理解上事存在实际的含义的,比如一个人类,人类也是个类,表明这个类不是家禽类,是有人的特点的生物 ...
- java第四课:数组
1.数组声明时,必须有中括号,但不指定数组的元素个数2.初始化时,必须指定元素个数3.数组元素内容仅能用于声明时初始化,不能用于赋值.如:char[] week; week={'1','2','3'} ...
- Java 第四课 对象 类
1.构造方法可以为private public 2.抽象类可以有构造方法,但是必须在子类中调用(super.构造方法)
- 关于转入软件工程专业后第二次java课上作业的某些体会
今天是第二周的java课. 自从转入了软件工程专业后,在我没有学习c++的基础上,直接开始了学习java的过程.不得不说过程很艰辛.今天下午老师让编写一个随机产生作业的软件.而我的基础差到都不知道如何 ...
- 20155205 《Java程序设计》0510课上实践博客
20155205 <Java程序设计>0510课上实践博客 一.教材代码检查-p98 未提交成功原因: 一开始在iterm中运行,但是结果出错,没有时间提交了.这个提交其实很简单,没有提交 ...
- 《疯狂Java:突破程序员基本功的16课》读书笔记-第二章 对象与内存控制
Java内存管理分为两个方面:内存分配和内存回收.这里的内存分配特指创建Java对象时JVM为该对象在堆内存中所分配的内存空间.内存回收指的是当该Java对象失去引用,变成垃圾时,JVM的垃圾回收机制 ...
随机推荐
- .net JsonHelper json帮助类
using Newtonsoft.Json; using System.Runtime.Serialization.Json; using System.Text; public class Json ...
- JS 本地属性与继承属性
判断是否拥有某种属性 1.in 运算符 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' i ...
- Xutils使用详解
刚开始的时候,在 GitHub 上面出现了一款强大的开源框架叫 xUtils,里面包含了很多实用的android工具,并且支持大文件上传,更全面的 http 请求协议支持(10种谓词),拥有更加灵活的 ...
- perl HTML::HeadParser获取html头部信息
use LWP::Simple; use HTML::HeadParser; use utf8; binmode(STDOUT, ":encoding(gbk)"); #设置win ...
- static class 和 non static class 的区别
static class non static class 1.用static修饰的是内部类,此时这个 内部类变为静态内部类:对测试有用: 2.内部静态类不需要有指向外部类的引用: 3.静态类只能访问 ...
- pinctrl框架【转】
转自:http://www.cnblogs.com/kevinhwang/p/5703192.html pinctrl框架是linux系统为统一各SOC厂家pin管理,目的是为了减少SOC厂家系统移植 ...
- AJAX 核心 —— XMLHTTPRequest 对象回顾
一.AJAX概述 不使用 AJAX 的网页,如果要更新内容,需要重载整个页面. AJAX ( Asynchronous Javascript And XML ,异步 Javascript 和 XML) ...
- 设置Eclipse/MyEclipse中编辑界面点击任何文件后Package Explorer导航自动定位该文件
原文:http://www.myexception.cn/eclipse/425836.html 设置步骤: 导航Package Explorer的右上角有一个黄色双向箭头图标,鼠标移动到上面提示“L ...
- 树莓派使用opencv
安装 reference1 reference2 注意 安装顺利,但是使用的时候提示 you need install libgtk2.0-dev xxx ,这时候说明你安装的库的顺序不对,你应该先安 ...
- react-router 4.0 升级攻略
react-router 4.0 出来好9了,项目在4月份的时候对react-router进行了升级,升级耗费了3天,一个坑一个坑踩了过来. 按照公司项目情况说下升级改了哪些,项目使用的是hashHi ...