对面向对象的细节不是太熟悉,做个笔记,在工作或面试中都会有帮助。
1. 先来了解面向对象的三大特征:
面向对象的三大基本特征是:封装,继承,多态。-----① 面向对象三大基本特征
另一篇文章,说明了 private , default,protected, public 的权限 --- ② java面向对象的三大特征(J2SE入门5)
2. 多态,重载,覆写的关系 与区别
① Java中重载和重写的区别
② 关于JAVA的重写,重载,多态常见问题的分析
③ java 继承 多态(override->重写(=覆盖)、overload->重载、polymorphism -> 多态)
④ 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
堆:放实体 (对象),成员变量(非static)
栈:放变量 (引用),局部变量,
共享区(栈):静态成员,方法区
static 静态:一个修饰符,用于修饰成员(成员变量,成员函数)
① 随着类的加载而加载,随着类的消失而消失。(非静态的成员变量与对象同生命周期)
② 被所有对象所共享
③ 可以直接用类名调用
④ 优先于对象存在
实例变量和类变量的区别:
1,存放位置。
类变量随着类的加载而存在于方法区(栈)中。
实例变量随着对象的建立而存在于堆内存中。
2,生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
静态使用注意事项:
1,静态方法只能访问静态成员。
非静态方法既可以访问静态也可以访问非静态。
2,静态方法中不可以定义this,super关键字。
因为静态优先于对象存在。所以静态方法中不可以出现this。
3,主函数是静态的。
静态代码块。
static
{
静态代码块中的执行语句。
}
特点:随着类的加载而执行,只执行一次,并优先于主函数。
1. 先来了解面向对象的三大特征:
面向对象的三大基本特征是:封装,继承,多态。-----① 面向对象三大基本特征
另一篇文章,说明了 private , default,protected, public 的权限 --- ② java面向对象的三大特征(J2SE入门5)
2. 多态,重载,覆写的关系 与区别
① Java中重载和重写的区别
② 关于JAVA的重写,重载,多态常见问题的分析
③ java 继承 多态(override->重写(=覆盖)、overload->重载、polymorphism -> 多态)
④ 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
堆:放实体 (对象),成员变量(非static)
栈:放变量 (引用),局部变量,
共享区(栈):静态成员,方法区
static 静态:一个修饰符,用于修饰成员(成员变量,成员函数)
① 随着类的加载而加载,随着类的消失而消失。(非静态的成员变量与对象同生命周期)
② 被所有对象所共享
③ 可以直接用类名调用
④ 优先于对象存在
实例变量和类变量的区别:
1,存放位置。
类变量随着类的加载而存在于方法区(栈)中。
实例变量随着对象的建立而存在于堆内存中。
2,生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
静态使用注意事项:
1,静态方法只能访问静态成员。
非静态方法既可以访问静态也可以访问非静态。
2,静态方法中不可以定义this,super关键字。
因为静态优先于对象存在。所以静态方法中不可以出现this。
3,主函数是静态的。
静态代码块。
static
{
静态代码块中的执行语句。
}
特点:随着类的加载而执行,只执行一次,并优先于主函数。