浅谈《think in java》:二 一切都是对象
清晨坐在图书馆,今天聊聊早晨的“果实”。
清单1. 引用操作;对象创建;存储地方;基本类型;数组
“reference”:引用[操作对象的标识符]
例子:创建String类型的引用,并不是对象。
String s;
安全一种例子:[创建引用并初始化]
String s = "ss";
“new”:使引用和新对象关联[对象创建操作符]
例子:
String s = new String("objects");
存储:1寄存器 2堆栈 3堆 4常量存储 5非RAM存储[一般java对象存储在堆。]
基本类型:[java每种基本类型存储空间大小不变性 => 程序的可移植性强 ]
内容:
数据类型 大小 范围 默认值
[bit]
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
非基本对象表示,包装,反转
char c = 'x';
Character ch = new Character(c);
相当于:
Character ch = new Character('x');
包装[java SE5的自动包装]
Character ch = 'x';
反向转换
char c = ch;
“null”:关键字[创建引用数组。初始化的特定值]
清单2. 作用域,类[字段+成员]
“scope”:作用域[由花括号决定]
{
int x = 1;
{
int y = 2;
}
}
【警告】java中不能这样[这里x已经定义过了。而c++,c中会把大作用域的变量“隐藏“]
{
int x = 1;
{
int x = 2;
}
}
“class”:[创建类的关键字]
字段:任何对象,基本类型,...
方法:可有参数,可有返回值
public class DataOfLi {
//字段
int i;
boolean b;
DataOfLee dataOfLee = new DataOfLee();
//测试main方法
public static void main(String[] args) {
DataOfLi data = new DataOfLi();
//赋值
data.i = 1;
System.out.println(data.i);
//调用字段里面对象的函数
data.dataOfLee.show();
}
}
class DataOfLee {
int i;
void show(){
System.out.println("DataOfLee");
}
}
[对象,方法,字段中间”.“连接]
清单3, static ,java程序,编码风格
“static”:[意味着这个域不与任何对象实例关联]
static为它的成员指定了单一存储空间
public class DataOfLi {
//字段
static int i;
public static void main(String[] args) {
DataOfLi data1 = new DataOfLi();
DataOfLi data2 = new DataOfLi();
data1.i;
data2.i;
DataOfLi.i;
} }
data1.i;
data2.i;
指向同一个存储地址。
DataOfLi.i;
直接用类名可以找到 “main”开始
public class HelloDate {
public static void main(String[] args) {
System.out.println("Hello,it is fine.");
}
}
System.out.println: java.lang => system => out => PrintSystem 中[println]
{static 用处}
args: [用来存储命令行参数]
编码规范: http://blog.163.com/josephn_2001/blog/static/985778120081305835230/ 好,饿了 吃饭....
浅谈《think in java》:二 一切都是对象的更多相关文章
- 浅谈压缩感知(二十四):压缩感知重构算法之子空间追踪(SP)
主要内容: SP的算法流程 SP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 SP与CoSaMP的性能比较 一.SP的算法流程 压缩采样匹配追踪(CoSaMP)与子 ...
- 浅谈压缩感知(二十):OMP与压缩感知
主要内容: OMP在稀疏分解与压缩感知中的异同 压缩感知通过OMP重构信号的唯一性 一.OMP在稀疏分解与压缩感知中的异同 .稀疏分解要解决的问题是在冗余字典(超完备字典)A中选出k列,用这k列的线性 ...
- 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)
主要内容: OMP的算法流程 OMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.OMP的算法流程 二.OMP的MATL ...
- 【原创】浅谈指针(十二)关于static(上)
0.前言 这个系列基本上是一月一更到两月一更 今天写一篇关于static的,内含大量干货,做好准备 1.基础知识的回顾 1.1.内存的种类 一般来说,我们之前已经讲过的变量(或者说是内存)可以大体分为 ...
- [OpenSource]浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个 ...
- 浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两 ...
- 新手码农浅谈观察者模式(java语言简单实现)
一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况( ...
- 浅谈SEO-收录(二)
如何更好的让搜索引擎收录网站中的内容,想要被良好的收录,可以尝试一下几点: 一.机器可读 百度通过一个叫做Baiduspider的程序抓取互联网上的网页, 经过处理后建入索引中,目前只支持读文本,fl ...
- 源码浅谈(一):java中的 toString()方法
前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> ...
随机推荐
- Java学习笔记day_01
Java学习笔记(复习整理) 虽然不知道该怎么写,但是不起步就永远不知道该怎么做..刚开始可能会写的很差劲,但会一点一点变好的. 本笔记是以我按照传智播客的视频和Java核心思想来学习,前面的基础部分 ...
- 记录mysql安装过程遇到问题
1. 远程连接授权 登陆mysql数据库 (如果安装在系统盘可以直接命令, 否则要切换到安装目录..bin/) mysql -u root -p mysql> use mysql; - ...
- 如何在Ubuntu上安装LAMP服务器系统?
在Ubuntu上安装LAMP Ubuntu的开发人员让人们很容易安装和配置LAMP软件包,只要借助一个终端命令.所以,打开终端窗口,让我们开始入手吧. sudo apt-get install lam ...
- 取消Debian屏保及显示器休眠
在产品展示场合,屏保及休眠会带来不好的体验,很多时候需要关闭掉. dpms显示器休眠设置: 开启:$ sudo xset dpms 1 1 2取消:$ sudo xset -dpms xset设置屏保 ...
- Linux关于文件,文件夹操作命令
文件 文件夹 相关操作命令 查看文件 cd 切换目录位置 ls 目录 查看指定目录所有文件 --缺省当前目录 ls -l 目录 查看指定目录所有文件的详细信息 --同 ll 命令 ls -a ...
- VC6 LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing
在使用VC++运行程序时,第一次没有任何问题,但是当再次运行时就会出现:LINK : fatal error LNK1168: cannot open Debug/Test.exe for writi ...
- python之路(七)-递归算法
递归 特点 递归算法是一种直接或者间接地调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 递归算法解决问题的特点: (1) 递归就是在 ...
- flask-钩子函数&g对象
常用钩子函数 在Flask中钩子函数是使用特定的装饰器装饰的函数.钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码.那么这种函数就叫做钩子函数.(hook) before_first_req ...
- gitlab 之 项目管理
首先git是什么? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...
- Shell输入和输出功能-3