从零开始学JAVA DAY4
成员变量(全局变量)存放在堆里面,占用内存,初始化为0
局部变量 不占用内存,存放在栈里面,没有初始值
关键字 :
public, private 关键字
权限的意思 在一个类里面,如果主函数不调用类里面的东西,那么用private把它私有化,保证封装性,只留一个入口
static 静态存储变量
是除了创建对象以外的另外一种开辟空间的方式,它的生命周期与类的生命周期相同(最长)
this 关键字
是区分局部变量和全局变量的缩写
class Person { private String name = "zhou"; Person(String name){ this.name = name; } public void run(){ System.out.println(this.name); } } class test { public static void main(String[] args) { Person people = new Person("tao"); people.run(); } }
就这段代码,this的功能相当于p,使得直接作用于类
重载:函数名称相同,后面的变量不同,JVM能分辨 比如 Person(int x) 和 Person()是不同的
构造函数:
函数名称必须与类的名称相同
作用:用于初始化,可以重载
除了构造函数还有一种初始化手段 就是代码块
{
}
代码块没有名字,它的初始优先于构造函数,能把所有构造函数都统一初始化,把共性的初始化,减少内存的消耗
有一种特殊的代码块,静态代码块,它的初始化只进行一次
主函数介绍
public static void main(String[] args)
public : 最高的权限,能被任意地方调用
static: 开辟内存空间,静态存储变量
void :返回值类型是空(注意与没有返回值区分开来)
main:main虽然不是关键字,但是JVM会识别main来作为入口
String 参数类型
args 形式参数(arguments参数 名称可以改变) parameter实际参数
主函数与普通函数相同,就是是一个入口默认传入的args length = 0;为空
出现找不到或无法加载主类的原因
是因为类,java中的每一个类都是一个封装,一编译这个类的class执行文件就会产生
假如我java文件名称为test,主函数名称为demo,函数名称为Peoloe
这样一编译,我们需要运行的是demo主函数,而实际上点快了执行了test,所以说把这个区分开来,把主函数名称改为和文件名称一样方便
class test { public static void main(String[] args) { System.out.print(args); } }
[Ljava.lang.String;@55e55f 打印出这个表示是字符串类型 55e55f是地址的哈希值
javadoc的制作