Java 回顾方法的调用 -13天 学习笔记

方法的调用 递归

  • 静态方法
  • 非静态方法 非静态方法可以调用静态方法静态不能调用非静态
  •  public static void main (String []args){
      			//静态方法  static
      			
      			//非静态方法
      			
      			//给学生类加个static 加上类名 可以直接调用过来
      		 Student.say();
      	
      			//实例化这个类
      			//对象类型 对象名字 = 对象的值
      			
      		Student student = new Student();
      		student.open();
      			
      	}
      	
      	/*
      			public class Studen{
         	//方法
      
      	
      	public static void say (){
      		
      
      	System.out.println("下课了,学生开始说话");
    
      
      	}
      	public void open(){
      	
      	System.out.println("门打开了");
      
      	}
    
      	
      	}
      
      	*/
      		
      	
      			//但是我们一般调用都不加static,所以需要new
    
      	//new student
    
public static void main (String []args){	
			
			
			}
			//静态static 和类时就一起加载
			//类实例化 之后才存在
			public void a (){
					b();        //可以直接调用b,两个都为static的时候也可以相互调用
			}
			public void b (){
					
			}
  • 行参与实参
    	public static void main (String []args){
				
             	//方法调用 
		     	//	非静态方法调用
				Demo04 demo04 = new Demo04();
				//(2,4)代表实际参数。
				//实际参数与形式参数的内型要一样。
				int add =demo04.add(2,4);
				System.out.println(add);
				
		}
		
		public  int add(int a,int b){   
		//(int a,int b)代表形式参数
				return a+b;
		}
  • 值传递和引用传递

值传递:实参和形参在内存上是独立的两个变量。
引用传递:实参和形参在内存上指向的是同一个地址。

public class Demo02 {
    public static void main(String[] args) {
        //值传递
        int a = 1;
        System.out.println(a); //1
        System.out.println("==========");
        //调用
        Demo02.change(a);
        System.out.println(a);//1

    }
      //值传递:实参和形参在内存上是独立的两个变量。所有
     // 引用传递:实参和形参在内存上指向的是同一个地址。
    
     //返回值为空  
    public static void change (int a){
        a = 10;
    }

}
public class Demo01 {
    //引用传递  :对象  本质还是值传递

    //对象  内存!
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);  //null
        System.out.println("=============");
        //调用change
        change(person);
        System.out.println(person.name);//jack

    }
    public static void change(Person person){
        //Person 是个对象指向的  Person person = new Person();
        //这是一个具体的人可以改变
        person.name = "jack";
    }

    //定义一个Person类,有个属性:name
    static class Person{
        String name;
    }
}

  • this关键字
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值