java办法调用及传参
java办法调用及传参
静态办法:有static修饰的办法。
非静态办法:没有static修饰的办法。
办法调用:
一静态办法调用 静态办法/属性
1)一个类:直接调用。
2)不同类/不同文件:
a: 类名.属性名/办法名
b:实例化对象。 类名 对象名 = new类名();
对象名. 属性/办法二静态调用 非静态办法/属性
都先实例化对象。 类名 对象名 = new类名();
对象名. 属性名/办法名一非静态调用静态办法二非静态调用非静态办法1)同一类中:直接调用2)不同类中:a: 类名 . 办法(只能是静态属性)
b:实例化对象
总结:可直接调用的三种状况
1.一个类中 静态调静态 。
- 一个类中 非静态调用 静态/非静态。
- 静态 类名.静态属性/静态办法。
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地址传送:在运转函数时,传给形参的是实参的地址,那么形参被修正时,实参也会发作改动。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- SpringBoot调用公共模块的自定义注解失效的解决
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)