------------------------引用传递-------------------------
引用传递:传对象,则是把栈内存中的地址给了另一个对象,指向同一个堆内存
***P130 字符对象的传递再改变
1.this关键字的用法
*表示类中的属性this.name
*可以使用this调用本类的构造方法
调用时必须放在构造方法的第一行,this()是调用无参构造方法
所有的构造方法至少存在一个构造方法是不使用this调用其他的构造方法
*this表示当前的对象
2.static声明的属性是全局属性(静态属性),是放在全局数据区的
static声明的方法是类方法,直接用类名调用
static声明的方法可以去调用static声明的方法和属性,但是static声明的方法
不能调用非static声明的方法和属性
static的应用,可以统计对象数量,可以为对象自动赋值和命名
Java中主要有4块内存空间:
*栈内存空间:保存所有的对象名称(准确说是保存了引用的堆内存空间地址)
*堆内存空间:保存了每个对象的具体属性内容
*全局数据区:保存了static类型的属性
*全局代码区:保存了所有的方法定义
System.exit(1);表示系统推出,只要exit()方法中是非零数字则退出
3.main主方法每个参数的含义
*public:表示此方法可以被外部调用
*static:表示此方法可以用类名称直接调用
*void:主方法是程序的起点,所以不需要任何的返回值
*main:系统规定好默认调用的方法名称,执行时默认找到main方法名称
*String args[]:表示是运行时的参数.参数传递的形式是"java 类名称 参数1 参数2"
---------------------代码块------------------------------------
1.A普通代码块:直接在方法或是语句中定义的代码块,{}括起来的就是一个代码块
B构造块:直接写在类中的代码块 优先于构造方法执行
C静态代码块:使用static关键字声明的代码块
优先级C>B>A 不管有多少个对象产生,静态代码块只执行一次