Java程序员的日常——《编程思想》一切都是对象
今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思。从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多啊!
关于对象
与C这种面向过程的语言不同,Java是面向对象的,在它眼里一切都是对象。
在Java中不同的东西是存放在不同的地方的,比如:
- 通过new创建的对象,是存放在堆中的
- 方法区用于存储元信息和常量
- 本地方法栈存储了方法的调用链等信息

关于基本的数据类型
| 基本类型 | 大小 | 最小值 | 最大值 | 包装器 |
|---|---|---|---|---|
| boolean | - | - | - | Boolean |
| char | 2字节 | Unicode 0 | Unicode 2^16-1 | Character |
| byte | 1字节 | -128 | 127 | Byte |
| short | 2字节 | -2^15 | 2^15-1 | Short |
| int | 4字节 | -2^31 | -2^31-1 | Integer |
| long | 8字节 | -2^63 | 2^63-1 | Long |
| float | 4字节 | IEEE754 | IEEE754 | Float |
| double | 8字节 | IEEE754 | IEEE754 | Double |
| void | - | - | - | Void |
基本类型可以提升为包装器:
char c = 'a';
Character ch = new Character(c);
也可以降低为基本类型:
char ccc = ch;
作用域
在C、C++、Java中作用域都是通过{}控制。
但是在Java中是不可以重复声明的,比如:
{
int x = 1;
{
int x = 2;
}
}
而且对于new出来的对象作用域是不同的。通过new创建的对象,作用域之外,这个对象仍然存活,只能通过JVM进行销毁。
关于类
在Java中类可以包含一些基本的类型,在创建类的对象时,会自动进行初始化。
比如:
class Test{
int i;
float j;
}
初始化的规则如下:
| 基本类型 | 默认值 |
|---|---|
| boolean | false |
| char | null |
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0L |
| float | 0.0f |
| double | 0.0d |
Java程序员的日常——《编程思想》一切都是对象的更多相关文章
- Java程序员的日常——经验贴(纯干货)
工作当中遇到的事情比较杂,因此涉及的知识点也很多.这里暂且记录一下,今天遇到的知识点,纯干货~ 关于文件的解压和压缩 如果你的系统不支持tar -z命令 如果是古老的Unix系统,可能并不认识tar ...
- Java程序员的日常—— 《编程思想》关于类的使用常识
Java虽然利用JVM,让程序员可以放心大胆的使用,可是仍然会出现内存泄露等问题.世上没有绝对的银弹,因此也不能完全把所有的任务都交给JVM,了解Java中的初始化与垃圾回收还是必不可少的知识. 关于 ...
- Java程序员的日常 —— 工作一天的收获
看题目可能是扯皮,其实还是有很多专业知识的.从最开始没有注意到设计原则,到后面的jquery实战技巧,都是今天一天碰到的问题. 每天整理一点点,每天收获一点点. 关于软件设计 在设计系统结构的时候,一 ...
- Java程序员的日常—— Properties文件的读写
在日常的Java程序开发中,Properties文件的读写是很常用的.经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整. 那么本片就来简单的介绍下,如何使用Prop ...
- Java程序员的日常—— 垃圾回收中引用类型的作用
在Java里面,是不需要太过于关乎垃圾回收,但是这并不意味着开发者可以不了解垃圾回收的机制,况且在java中内存泄露也是家常便饭的事情.因此了解垃圾回收的相关知识就显得很重要了. 引用,在垃圾回收中是 ...
- Java程序员的日常 —— 多进程开发
最近再弄进程管理相关的工作,因此必要的就涉及到各种系统下关于进程的管理. 这里简单的介绍下: 如何在Java中执行命令 在windows下肯定是dos命令了,而在linux则为shell命令.执行的方 ...
- 2.JAVA编程思想——一切都是对象
一切都是对象 欢迎转载.转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 虽然以C++为基础,但 Java 是一种更纯粹的面 ...
- java编程思想 一切都是对象
java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...
- Java程序员的日常 —— 《编程思想》持有对象
集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合.下面就简单介绍下各种集合的使用场景: List List可以看做是数组,实现的方式有两种: ArrayList ...
随机推荐
- 使用__slots__
[使用__slots__] 参考: 1.http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a0 ...
- ibatis XML标签的含义
selectKey: 有3个主要的属性: 1)resultClass:返回的主键的数据类型,跟sqlMap中的数据类型一致: 2)type:表示主键在insert之前或之后生成(取决于 ...
- linux档案与文件的的压缩与打包
本文涉及的命令:gzip.zcat.bzip2.bzcat.tar.dump.restore.mkiosfs.cdrecord.dd.cpio. 概念: 几种基础压缩的概念: 计算机最小单位是字节,但 ...
- [原创]使用Pandoc实现Markdown文件转PDF文件
Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...
- datagridview中使用checkbox问题。
如果套用datagridview中的checkboxfield,生成的数据,会出现无法选择datagridview中数据项的问题,即checkbox不可以被鼠标点击,选中/取消选中.此checkbox ...
- Open Live Writer的配置
--------siwuxie095 1.首先到官网下载OLW:http://openlivewriter.org/ 2.选择 Other services 3.填写"博客地址". ...
- java多线程学习-多个线程访问对象共享数据的方式
public class MulitThreadShareData { public static void main(String[] args) { final ShareData1 data1 ...
- Oracle 10g -- 修改DB的编码
修改DB的原因是:因为我的DB不支持中文,所以每当我向数据库表中插入一条数据的时候,中文就都变了类似于“?(是反问号)”的乱码,为了能顺利插入成功,故做了此次修改; 系统:windows XP 英文版 ...
- 如何在Ubuntu上更新Node.js
自己系统上一直用的1.0版本的,想要更新直接apt肯定不行的.于是找了一种比较方便的安装方式. 如果想安装最新的 6.x 版本 只需要 #Using Ubuntu curl -sL https://d ...
- .net WebApi中使用swagger
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...