Java Day 07

构造函数
 函数名与类名相同
 不用定义返回值类型
 没有具体的返回值

 作用:给对象初始化值

默认构造函数
 如果没有自己定义构造函数,系统会自动生成;
 如果定义了,则默认构造函数不会自动生成。

构造函数与一般函数区别
 1、构造函数在创建对象时,就会调用,并初始化
    一般函数是创建对象后,使用时才会去调用
 2、构造函数只会创建对象时调用一次
    一般函数按需调用

重载
 函数名相同,参数个数和类型不同

内存图解
 函数进栈

构造函数细节
 1、一般函数不能调用构造函数
 2、函数名称,构造函数与类名相同,一般函数首字母小写
 3、写个return

this关键字
 成员变量和局部变量重名时,使用this进行区分

this应用
 构造函数相互调用//this(name) 必须放在第一行
 类的所有成员调用必须有引用变量
 本类中调用本类,也要用到this

static关键字--数据共享
 特点:
 1、被所有对象共享
 2、可以直接被类调用//类名.静态成员
 3、优先于对象存在

成员变量与静态变量的区别
 成员变量、实例变量
 静态变量、类变量
 1、作用域不同
 2、存储位置不同,成员变量存储在堆内存的对象中
    静态变量数据存储在方法区的静态区,

static关键字注意事项
 1、静态方法只能访问静态成员
 2、静态方法中不可以使用this、super关键字
 3、主函数时静态的

主函数
 new String[0]

static 图解--重要
 非静态区:类、构造函数
 静态区:main
 
 栈

static应用
 
静态代码块
 static{ } //只会加载一次
 给类进行初始化

构造代码块
 类中的代码块,可以给所有对象进行初始化
 构造函数,给对应的对象进行针对性的初始化
 初始化顺序
 例:静态代码块 > 构造代码块 > 构造函数

原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5876920.html