即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

简谈对象内存管理,继承,关键字,抽象类,面向对象深度总结

编程语言 qq_35723795 16℃ 0评论
JVM为Java程序提供并管理所需要的内存空间。
如何管理:通过垃圾回收器:JVM自带的一个线程,定期回收没有任何引用指向的对象。
JVM为每一个运行或者调用的方法分配一个对应的空间,栈帧,用于存储该方法的参数、局部变量等数据,方法结束,对应的栈帧被清除,局部变量失效。–联系生命周期的一致性->作用域。
成员变量:定义在类中,方法外;有默认初始值、
局部变量:定义在方法中,没有默认值,必须设定初始值。

方法区:存放类的各种信息(包括静态方法和非静态方法方法(都是只有一份))-关联方法的重写;被static关键字修饰的成员变量只有一份,无论创建了多少对象。



即使一个类中没有抽象方法,也可以将其定义为抽象类,但是,抽象类不能被实例化。
接口:只包含抽象方法(抽象方法可以省略abstract)和常量的特殊抽象类,不能被实例化。
接口没有构造函数,因为接口的成员变量都是常量。
抽象类是有构造函数的,子类会调用父类的无参构造。
继承中即父子类的构造方法(实现接口不遵循此):
子类的构造方法中必须通过super关键字调用父类的构造方法,以便初始化继承自父类的成员变量。
如果子类的构造方法中没有调用父类的构造方法,编译器会自动加入super(),如果父类没有无参构造器,就会编译错误。
super()构造器必须位于子类构造器的第一行。
隐式传递:调用非static修饰的方法时,系统自动传递对象的引用给this赋值,所以在方法里可以使用this这个参数.



this在方法中表示对象P1,指向同一对象.
this(参数列表)可以在构造器里调用另一个重载的构造器
static关键字修饰方法:没有隐式的传递对象引用,在static方法中不能使用this;
static方法在调用时没有具体的对象,不能对非static成员变量及非static方法进行直接访问.联系main方法
static修饰方法多用于提供工具方法。



块优先于构造器执行。

static修饰:1)静态变量:2)静态方法:3)静态块:
final:修饰:1)修饰变量(使用前初始化即可,修饰成员变量:声明同事初始化或者构造器中初始化.);2)修饰方法;3)修饰类 ;
static final:常量,必须声明的同时初始化,编译期被替换。
面向对象3个特征:
1。封装:类,方法,访问控制修饰符
2。继承:单一继承、传递性 —–通过成员内部类可以实现多继承
3。多态:
行为的多态,表现形式重写;
功能的多态,变现形式重载;


转载请注明:CodingBlog » 简谈对象内存管理,继承,关键字,抽象类,面向对象深度总结

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情