<font face="微软雅黑" size=5 color=#660000 >
Java学习笔记Day16
一、今日学习:
面向对象第五节
二、学习目标
1、了解this关键字的使用方法
2、了解static关键字的使用方法
3、区别实例方法、静态方法、构造方法的特点。
三、学习内容
1、this关键字使用方法(在同一个对象中)
(1)(2)(3)属于重点内容
(1)、this可以将局部变量赋值给成员变量。(此时的“this.”不能省略)
this关键字只能存在于对象之中,每一个对象都有一个属于自己的this,可以在构造方法和实例方法中使用,不能在静态方法中使用。因为静态方法中没有对象,只有创建了对象才能使用this。
public class Test {
int i;
public void Test(){
int i=10;
this.i=i;
}
public Test(){
int i=10;
this.i=i;
}
}
(2)、"this."在大多数情况都能省略,this是一个引用也是一个变量,this变量中保存了对象本身的地址。下面的案例是在同一个对象中。
public class Method01 {
int i=10;
public static void doSome(){
System.out.println("do some");
}
public void doOther(){
System.out.println("do other");
}
public void method002(){
Method01.doSome();//完整的调用
doSome();//省略的调用
this.doOther();//完整的调用
doOther();//省略的调用,这里省略了this.
System.out.println(this.i);//等价于下面这行,
System.out.println(i);
}
public Method01(){//在构造方法中也是这样
Method01.doSome();
doSome();
this.doOther();
doOther();
System.out.println(this.i);
System.out.println(i);
}
}
(3)、调用当前对象中的其他构造方法,只能写在此方法的第一行
经过实践发现,只能在该对象的构造方法中用this调用其他参数类型构造方法。
注意:这种调用方法不会创建新的对象。
public class Method01 {
int age;
int i;
String name;
String id;
public method01(){
}
public Method01(String name){
}
public Method01(int age){
}
}
(4)、返回对象的值,只能在非静态方法中使用。此用法不常见。返回引用的值,
return this;
暂时不清楚这个用法在实践中的作用,百度说是可以更新对象最新的状态。
2、static关键字的使用方法,英语中static表示静态的意思,含static的方法就是静态的方法,含static的变量是静态变量。
(1)、静态方法,不能直接访问对象的实例变量。
public static void method001(){
}
(2)、静态变量,在变量前面加上static,静态变量在类加载的时候开始初始化,可以直接调用。
当所有的对象都有某个属性,而且属性值都一样,就可以使用静态变量。
public class Test{
static int i;
public static void method001(){
}
}
(3)、静态代码块,在类加载时,只执行一次。例如日志需求就需要用到静态代码块。
public class Test{
static{
java语句;
}
}
3、区别实例方法、静态方法、构造方法的特点。
静态方法是包含static的方法,不能直接调用对象中的实例变量和实例方法。
构造方法是对象中初始化实例变量的方法,一般构成方法重载,可以有不同参数类型的方法,也可以有无参数的方法。
实例方法为了完成某个动作的方法,可能包含void,也可以不包含。没有static关键字。