回顾方法以及加深
方法的定义
方法的调用
静态方法与非静态方法.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tJodnlzi-1632918392282)(D:\JAVA学习图片\java面向对象\01.png)]
-
在Love_amy中调用amy02的类
-
若是static调用则是:类名.方法名
-
若无static调用则需要:实例化这个类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgjHK8M4-1632918392284)(D:\JAVA学习图片\java面向对象\02.png)]
public class Love_amy { //静态方法:加了 static的方法 //非静态方法 public static void main(String[] args) { //有static时的调用:类名.方法名 //调用方法 //实例化这个类 new amy02().amy(); //或者是 //对象类型 对象名=对象值; amy02 amy02=new amy02(); } }
-
类中方法的调用的特殊情况
-
两个方法都不是静态
public class amy02 { public void a(){ b(); } public void b(){ }
-
两个都是静态方法
public class amy02 { public static void a(){ b(); } public static void b(){ } }
-
两个中一个是静态方法 一个不是静态方法
public class amy02 { public static void main(String[] args) { } public static void a(){ b(); } public void b(){ } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gjfQpgyI-1632918392286)(D:\JAVA学习图片\java面向对象\03.png)]
-
发现会报错
形参和实参
-
public class amy02 { public static void main(String[] args) { new amy02().add(1,2); } public int add(int a,int b){ return a+b; } }
-
当方法为静态时
值传递和引用传递
值传递
public class amy02 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
amy02.change(a);
System.out.println(a);
}
public static void change(int a){
a=10;
}
}
-
运行该代码发现
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fBLOFhlw-1632918392288)(D:\JAVA学习图片\java面向对象\04.png)]
-
思考走了change后为什么还是返回了1?
-
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFcNJRAS-1632918392291)(D:\JAVA学习图片\java面向对象\06.png)]
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4EMPZAjN-1632918392292)(D:\JAVA学习图片\java面向对象\07.png)]
引用传递
public class amy02 {
public static void main(String[] args) {
person person = new person();
System.out.println(person.name);//null
amy02.change(person);
System.out.println(person.name);//YYY
}
public static void change(person person) {
//peoson 是一个对象:指向的是person这个类---->person person=new person();这个是具体的人可以改变属性
person.name="YYY";
}
}
//定义了一个person类,有一个属性:name
class person{
String name;//null
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQ460vAh-1632918392292)(D:\JAVA学习图片\java面向对象\08.png)]