Java学习笔记——面向对象01

属性作用范围:整个类体

内存分析:

栈放置局部变量,后进先出原则;

堆(不连续),放置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以引用方法/属性)

猜你喜欢

转载自www.cnblogs.com/dis-board/p/9048468.html
今日推荐