java办法调用及传参

java办法调用及传参 静态办法:有static修饰的办法。
非静态办法:没有static修饰的办法。
办法调用:
一静态办法调用 静态办法/属性
1)一个类:直接调用。
2)不同类/不同文件:
a: 类名.属性名/办法名
b:实例化对象。 类名 对象名 = new类名();

对象名. 属性/办法二静态调用 非静态办法/属性

都先实例化对象。 类名 对象名 = new类名();
对象名. 属性名/办法名一非静态调用静态办法二非静态调用非静态办法1)同一类中:直接调用2)不同类中:a: 类名 . 办法(只能是静态属性)

b:实例化对象
总结:可直接调用的三种状况
1.一个类中 静态调静态 。
  1. 一个类中 非静态调用 静态/非静态。
  2. 静态 类名.静态属性/静态办法。
复制代码
public class Demo03{
int age; public static void main(String []args){ System.out.println(Demo04.name); //静态调用静态1 Demo04.eat(); Demo04 d = new Demo04(); //静态调用静态2 System.out.println(d.name); d.eat(); Demo03 d1 = new Demo03(); //静态调用非静态 d1.method(); System.out.println(d1.age); } public void method(){ System.out.println("first method"); }

}
复制代码
复制代码
1 public class Demo04{
2 static String name = "张三";
3
4 public static void eat(){
5 System.out.println("肉夹馍");
6 }
7 }
复制代码
复制代码
1 public class Demo05{
2 static int age;
3 String name;
4 public static void main(String []args){
5
6 Demo05 d1 = new Demo05(); //静态调非静态 实例化
7 d1.method();
8 }
9
10 public void method(){
11 System.out.println(age); //非静态调静态
12 method1(); //非静态调静态
13 System.out.println(name); //非静态调非静态
14 method2(); //非静态调非静态
15 System.out.println("first method");
16 }
17 public static void method1(){
18 System.out.println("second method");
19 }
20 public void method2(){
21 System.out.println("third method");
22 }
23 }
复制代码
复制代码
1 public class Demo06{
2
3 public static void main(String []args){
4
5 Demo06 d1 = new Demo06(); //静态调非静态 实例化
6 d1.method();
7 }
8 public void method(){
9 System.out.println(Person.name); //非静态调静态
10 Person.method1(); //非静态调静态
11 Person p = new Person(); //非静态调非静态 实例化
12 p.method2();
13 System.out.println("first method");
14 }
15 }
16 class Person{
17 static String name;
18 int age;
19 public static void method1(){
20 System.out.println("second method");
21 }
22 public void method2(){
23 System.out.println("third method");
24 }
25 }
复制代码
复制代码
1 public class Demo09{
2 //实参到形参是单向的,所以在传送过程中形参值发作改动不会影响实参
3 public static void main(String []args){
4 int i =1;
5 String s = "ww";
6 Demo09 d = new Demo09();
7 d.method(i,s);
8 System.out.println(i);
9 System.out.println(s);
10 }
11 public void method(int i,String s){
12 i = 100;
13 s = "asd";
14 }
15 public void method1
16 }
复制代码
复制代码
public class ChuanDiZhi{
int x = 3; public static void main(String args[]){ ChuanDiZhi p = new ChuanDiZhi(); p.x = 9; show(p); System.out.println(p.x); } public static void show(ChuanDiZhi p){ p.x = 4; }

}
复制代码
有无返回值
有void修饰,无返回值
int------------------>return int 类型的值
string-------------->return String类型的值
数据类型-------->return 当前数据类型值
返回类、汇合、流等
办法的返回值类型必需和return之后的值数据类型一样
办法传送参数
形参:方式参数,在定义办法时所携带的参数。
实参:实践参数,办法调用时所传入的参数。
形参和实参的区别:
1形参只要在被调用的时分,才分配内存单元,在调用完毕时立刻释放内存单元形参只在当前办法内部有效

2实参能够是常量、变量、表达式、办法 等。但是在停止办法调用前,必需要有肯定的值。
3形参和实参在次第、类型、长度、必需分歧。
4实参到形参是单向的,
参数的传值方式
1值传送:在运转函数时,形参和实参在不同的内存位置之中,形参将实参的值复制一份。在函数运转完毕时,形参被释放,实参的值不会发作改动。
【java办法调用及传参】2地址传送:在运转函数时,传给形参的是实参的地址,那么形参被修正时,实参也会发作改动。

    推荐阅读