参数传递:java语言当中方法调用的时候涉及到参数传递的问题,参数传递实际上传递的是变量中保存的具体值。
方法调用的时候,涉及到参数传递的问题,传递的时候,java只遵循一种语法机制,就是将变量中保存的“值”传递过去了,只不过有的时候这个值是一个字面值10,有的时候这个值是另一个jav对象的内存地址0x1234
this关键字
1、this是一个关键字,翻译为:这个
2、this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存java对象内部。
3、创建100个java对象,每一个对象都有this,也就说有100个不同的this
4、this可以出现在实例方法”当中,this指向当前正在执行这个动作的对象。
5、this在多数情况下都是可以省略不写的
6、this不能使用在带有static的方法当中
批注:
//重点:没有static关键字的方法被称为实例方法",实例方法怎么访问?引用."
//重点:没有static关键字的变量被称为实例变量”
//注意:当一个行为/动作执行的过程当中是需要对象参与的,那么这个方法一定要定义为实例方法”,不要带static关键字
//在带有static的方法当中不能直接”访问实例变量和实例方法。因为实例变量和实例方法都需要对象的存在。
7. this.”什么时候不能省略?
用来区分局部变量和实例变量的时候,"this."不能省略。
8. this可以用在哪里:
(1)可以使用在实例方法当中,代表当前对象【语法格式:this.】
(2)可以使用在构造方法当中,通过当前的构造方法调用其它的构造方法【语法格式:this(实参);】|
this()这种语法只能出现在构造函数第一行。
package test;
public class test01 {
int num = 10;
public static void main(String[] args) {
test01 t =new test01();
System.out.println(t.num);//访问num,新建一个对象
}
}
方法调用练习
package date;
public class Date01 {
public static void method1(){
Date01.dosome();//调用dosome方法
dosome();
Date01 d=new Date01();
d.doother();//调用doother方法
System.out.println(d.i);//访问i,不能直接访问i,因为i是实例变量
}
public void method2(){
Date01.dosome();//调用dosome方法
dosome();//
this.doother();
doother();
System.out.println(i);
System.out.println(this.i);
}
public static void main(String[] args) {
Date01.method1();//使用完整方式调用
method1();//使用省略方式调用,类名省略不写
Date01 d=new Date01();
d.method2();//调用method2方法
}
int i=10;
public static void dosome(){
System.out.println("do some");
}
public void doother(){
System.out.println("do other");
}
}
运行输出:
do some
do some
do other
10
do some
do some
do other
10
do some
do some
do other
do other
10
10