属性作用范围:整个类体
内存分析:
栈放置局部变量,后进先出原则;
堆(不连续),放置new出的对象和方法区
所有对象(被new的)都使用引用对其操作
方法区放置类的代码信息,static变量,常量
垃圾回收:
分配空间(new),回收空间(赋值null)
构造器:(C++构造函数)
用new调用
不需要定义返回值和return语句,方法名与类名一致
方法重载:(C函数重载)
同类同名,不同参数个数/类型/顺序
static:
静态/全局,不从属于对象,上级为类,调用为类名.静态xx名
不能调用field(非静态/局部)的属性方法,能被field调用
this:
隐式参数,默认在每个普通方法中,=该对象
普通方法:指向调用该方法的对象
构造方法:指向正要初始化的对象
this不可用于static方法(static不可调用field)
this可调用重载的构造方法(必须是第一句)
继承:(是关系)
class a extends b -> a继承自b
只有单继承,区别于C++的多继承
方法的重写:
相同方法、参数列表和返回类型
super可调用未重写的(super=直接父类)
Object:
根基类,每个为定义父类的类的父类
super:
=直接父类的引用,每个子类构造器的第一句隐式包含super();调用直接父类的构造器
每个子类的方法都隐式包含super和this参数
通过使用super访问父类中被子类覆盖的方法或属性
组合:(拥有关系)
在原子类中直接增加父类属性(要new以引用方法/属性)