md文档使用2个空格就是换行
java编程思想阅读笔记
第二章 Java中一切都是对象
使用应用操作对象
首先 java 定义变量可以不初始化
String str;//
//发送消息就会出错
System.out.println(str) //直接报错
//安全做法就是定义变量立即给初始值
应用场景:把遥控器跟电视机
必须由你创建对象
String s=new String("abc")
1.寄存器 存在CPU里面的 速度最快 数量有限 程序员不能直接控制
2 堆栈 位于ram(内存中) 它有一个堆栈的指针 往上移动释放内存 往下移动开辟空间 例子:局部变量跟对象的引用
3 堆 通用内存池,也是位于RAM区用于存放所有的Java对象
4 常量存储 常量值通常直接存放在程序代码内部
5 非RAM存储 2个基本的例子是流对象和持久化对象 他们是存储于程序之外
特例:基本类型
new的对象存放在堆里
基本的数据类型都是放在栈中
比如:int a=5 它就是直接在栈中开辟了一个存储空间赋值为5
Java中永远不需要销毁对象
作用域:由{ }决定
在{ }区域外 我们无法拿到它的引用 但是它的对象依然在堆里面占据着内存空间
参数列表
讲的一个函数 的参数
void test(String str){ }
名字可见性
讲的是导包区分命名空间
static关键字
一般来说 执行new来创建对象时,数据存储空间才被分配,其方法才供外界调用
Java编程思想第三章 Java操作符
算术运算符:+ - * / % 运算规则:先乘除后加减
Java中的别名现场:
就是2个引用指向同一个对象地址
Tank t1=new Tank();
Tank t2=new Tank();
t1=t2; //这个时候2个变量也就是引用指向同一个堆内存地址 相当于2个对象绑定在一起了 原来的t1指向的空闲的对象会被垃圾回收机制回收
以上就是别名现象,这种方式一般不可取 不建议这么干
尽量让2个对象彼此独立开来,而不是将t1跟t2绑定到相同的对象
Java编程思想第七章 复用类
在Java中代码的复用的几种方法:
1.组合:所谓组合就是在一个类中定义另一个类类型的变量
2 继承 :extends关键字
3 代理:
第一步 编写SpaceShip类,代码如下:
package practiceDemo7;
/**
* description:太空船子类
*/
public class SpaceShip extends SpaceShipControls {
private String name;
public SpaceShip(String name){
this.name=name;
}
public static void main(String ...args){
SpaceShip protector=new SpaceShip("NESA Protector");
protector.forward(100);
}
}
第二步编写SpaceShipConrols的子类
package practiceDemo7;
/**
* description:太空船基类
*/
public class SpaceShipControls {
void up(int velocity){
}
void down(int velocity){
}
void left(int velocity){
}
void right(int velocity){
}
void forward(int velocity){
}
void back(int velocity){
}
void turnBoost(){
}
}
第三步在代理类里面写一个方法
//这是一个代理类
SpaceShipDeletgaion{
private String name;
private SpaceShipControls controls=new SpaceShipControlls(); //基类对象
private SpaceShipDeletaion(String name){
this.name=name;
}
}
网友评论