Java编程思想笔记(第二章)
来源:互联网 发布:ubuntu 17.04 配置ip 编辑:程序博客网 时间:2024/06/03 16:13
第二章 一切都是对象
尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言.
c++和Java都是杂合型语言(hybird language)
用引用(reference)操作对象
类似遥控器(引用)来操作电视(对象)
在Java中你可以创建一个引用,但是没有与任何对象关联,比如:
String s;
这个时候如果用则会报错.安全的做法是:
创建一个引用的同时并进行初始化
String s="1111";
必须由你创建所有对象
New关键字的意思是给我一个新对象
String s = new String("1111");
存储到什么地方
1.寄存器(register):这是最快的存储区--处理器内部,数量有限,又编译器根据需求分配
2.堆栈(stack):位于ram(随机存储器)中,仅次于寄存器存储Java对象的引用(不存对象),需知道所有数据的大小,生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针(下,分配新内存,上,释放内存)
3.堆(heap):一种通用的内存池(位于ram中),用于存放所有的Java对象
4.静态存储(static storage):存放程序运行时一直存在的数据,用static标示(ram中)
5.常量存储(constant storage):(存放在rom(read-only memory)中)存放常量
6.非RAM存储(non-RAM-storage):例如持久化对象中,对象呗存放于磁盘上,因此程序终止,他们仍然可以保持自己的状态,在需要时可恢复成常规的基于ram的对象
特例:基本类型(primitive type)
基本类型不用new来创建,并非是一个引用而是一个自动变量,并且其用用值,并置于堆栈中,因此更加高效.
高精度数字(high-precision number)
BigInteger支持任何精度的整数
BigDecimal支持任何精度的定点数
作用域(scoping)
由花括号的位置决定
{
int x=12;//x可用
{
int q=3;
//x q都可用
}
}
对象作用域(scope of object)
{
String s=new String("111");
}//end scope
引用s在作用域终点就消失了,然而s指向的String对象扔继续占用内存空间.
创建信的类型数据:类
class关键字后面紧跟着新类型的名称
class className{
//class body goes here
}
域(field)和方法(method)
即数据成员(data member)和成员函数(member function)
构造器是特殊的一个方法,通过其对对象进行初始化,以便其与一个实际对象关联
class A{
int i;
float f;//域
public void add(){ //method
//some code...
}
}
基本成员默认值
方法(method) 参数(argument)和返回值(return value)
returnType methodName(Argument list){
//method body
}
java中的方法只能作为类的一部分来创建,其只有通过对象才能被调用.
objectName.methodName(arg1,arg2,arg3);
Static关键字
为某特定数据分配一份存储空间,而不考虑要创建多少对象甚至不需要创建对象
希望某一个方法不与包含他的类的任何对象关联在一起
(不new对象也可以调用)
一个static域对每个类来说都只有一份存储空间 而非static域则是对每个对象都有一个存储空间
编译运行
比如我们有个HelloDate.java源文件,命令行切换到改目录下,并键入:
javac HelloDate.java
进行编译
java HelloDate
运行
文档注释
/** comment */
注意:javadoc只能为public和protected成员进行文档注释
代码风格
类名的首字母要大写,例如MyFirstClassName,称为驼峰风格
方法,域也都采用此种方式.只是标识符的第一字母采用小写,例如:
int myFirstInt;
void myFirstMethod(int newValue){//..}
阅读全文
0 0
- 《java编程思想》第二章 笔记
- java编程思想阅读笔记 第二章
- Java编程思想笔记(第二章)
- Java编程思想---第二章笔记
- java编程思想学习笔记 第二章
- java编程思想第四版第二章学习笔记
- java编程思想 学习笔记---第二章 一切都是对象
- java编程思想笔记——第二章
- Java编程思想-第二章-一切都是对象-2.1-2.2笔记
- Java编程思想-第二章-一切都是对象-2.3-2.5笔记
- Java编程思想笔记——第二章 一切都是对象
- java编程思想学习笔记--第二章 一切都是对象
- JAVA编程思想笔记--第二章 一切都是对象
- C++编程思想第二章例题笔记
- Java 编程思想 第二章小结
- java编程思想 第二章练习1
- 《Java 编程思想》--第二章:一切都是对象
- Java编程思想,第二章:一切都是对象
- SQL左连接——查询每个用户各操作类型的文章数量
- Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等
- 创业日志(十二) 关于团队和协同
- strus2 action重复执行问题
- java编程思想笔记(第一章)
- Java编程思想笔记(第二章)
- Java设计模式之简单工厂模式
- Java设计模式之工厂方法模式
- 从今天,制定计划,开始算法的学习。
- GreenDao3.0简单使用
- Java设计模式之抽象工厂模式
- 浅析C/C++中sort函数的用法
- Java设计模式之单例模式
- Java设计模式之原型模式