查漏补缺:
一:类的定义:基本方式;public static 返回值类型 方法名(参数类型 参数名称,.......){方法体; return 返回值;}
方法的三种调用方式;注意:void 只能用于单独调用;要有一个更重要的地方!!!在学习类的定义的时候,定义成员方法的时候与基本方法不同,成员方法他不需要static关键字,这个要注意!
熟悉代码!!! 这里说明一下什么时候用什么时候不用static关键字:在定义成员方法时不用,即因为此时定义的方法将要由对象调用,而不像之前那样与主方法一起定义在一个类当中且由主方法直接调用。
二:写一下创建对象中多个对象的使用-对象引用传递:
1-per2没有开辟堆内存空间-per2=per1->将per1的堆内存空间使用权给per2;每个栈内存空间都可以修改堆内存的内容。
2-per2也开辟了堆内存空间-per2=per1-> 因为per2本身就有堆内存空间的指向,所以如何在想指向per1对应的空间,则必须先断开已有连接。因此原有的堆空间中没有栈空间所指向,就形成了空间垃圾,等待Java垃圾收集机制进行回收。而此时per2同样可以对per1中的堆内存数据进行修改.
三:封装性:属性封装和方法封装
属性封装:private. 一旦成员变量使用private,在类中可以任意访问,但是!超出了本类范围之外就不能直接访问了,即在本类之外进行间接访问,用setter和getter方法设置和取得间接访问。对此还可以在该方法中进行语法的控制-检验代码。setXxx进行设置数据,赋值,无返回值,但有参数;getXxx进行拿取,有返回值,return。
四:构造方法: 主要作用是给类中的属性进行赋值。 构造方法的注意事项书p95.
例;class Person{
public Person(String name,int age){
this.name=name;//此时用this是为了区别参数与成员变量
this.age=age;
//this.setName(name);而这个this指对象
//this.setAge(age);
}
五;this关键字
1.当方法的局部变量和类的成员变量重名的时候,根据“就近原则”优先使用局部变量,如果访问本类当中的成员变量时,我们可以用this,this.成员变量来区分与局部变量的关系
2.哪个对象调用方法谁就是this。
六.局部变量和成员变量的关系(参数也时一个局部变量)
1.定义的位置不一样
局部变量:在方法的内部;
成员变量:在方法的外部,直接写在其中
2.作用范围不一样
局部变量:只有在方法当中才能使用;
成员变量:整个类当中
3.默认值不一样
局部变量:没有默认值,要使用则手动赋值;
成员变量:有默认值
七.static关键字
:如果在程序中申明属性的话,则属性称为全局属性,(有些也称静态属性)。在我们进行static全局变量之后,对属性 的值需要改变时,最好由类名称直接调用。
类属性调用格式:类名称.static属性 例:Person.country=“B城”;
Java中常用的四块内存区域
1 栈内存空间:保存所有的对象名称(准确的来说是保存了引用的堆内存空间的地址)
2 堆内存空间:保存每个对象的具体属性内容
3 全局数据区:保存static类型的属性
4 全局代码区:保存所有的方法定义