基本模式
组合:(has-a关系)现有的类合成新的类
Is-a:继承但不添加新的接口元素,与基类具有完全一样的接口
Is-like-a关系:新类具有旧类的接口并且还包含其他方法
向上转型:转型为一个基类在上方(父类可以接收子类对象,并被子类相同方法覆盖,并执行子类构造函数)
引用和对象
String s其中s是一个引用,String s=new String(“asdf”),new一个对象,s指向该对象
存储
寄存器:程序员不能操作
静态存储:static标识,静态存储里存放程序运行时一直存在的数据
堆栈:堆栈指针向下移动则分配新的内存,向上移动则释放内存
堆:通用的内存池,存放所有的java对象,new即可创建,优点:灵活性高。缺点:存储分配时间需要更长
常量存储:常量值之间存放在程序代码内部
非RAM存储:数据存储在程序之外例如文件流
基本类型
基本类型是一个特例,不用new来创建对象,创建的变量拥有值,并且置于堆栈中,更久高效
数组
实际上是创建了一个引用数组该值每个引用拥有自己的关键字null,java遇到null时,就知道该引用还未指向某个对象
变量生命周期
变量已经定义过了,而且如果在作用域类new一个对象,在作用域外只会释放引用,不会释放对象