百木园-与人分享,
就是让自己快乐。

Java基础学习:面向对象02(重点看:引用传递)

Java基础学习:面向对象02

  • 回顾方法的定义:

     

    • 方法的定义:

      • 修饰符

      • 返回类型

      • 方法名:注意规范,见名之意

      • 参数列表:参数类型,参数名 (可变长参数)**

      • 异常抛出

        • 数组下标越界异常:ArrayindexOutofbounds

      • break和return的区别:

        • break:跳出switch;结束循环;

        • return:代表方法结束;return后面也可以不带参数;

     

  • 回顾方法的调用:

     

    • 方法的调用:递归

      • 静态方法

      • 非静态方法

      • 形参和实参

      • 值传递和引用传递:

        • Java都是值传递;

      • this关键字

         

  • 代码:静态方法,非静态方法

    //静态方法,非静态方法
    public class Demo02 {

       public static void main(String[] args) {

           /**
            * 调用方法:有两种方式:
            * 1,如果方法是静态方法(被static修饰):可以直接用类名.   Student.say();
            * 2,如果是非静态方法:只能实例化类(new对象),用对象调用
            */
           Student.say(); //静态方法修饰,直接类名.

           //实例化这个类 new
           //对象类型 对象名=对象值;
           Student student=new Student();
           student.study();//非静态方法,对象.

      }

       /**
        * 重点:
        * 1,2个方法都没有被static修饰,方法可以直接调用;
        * 2,2个方法都被static修饰,方法也可以直接调用;
        *
        * 3,如果一个方法被static修饰,一个没有:
        *         (3.1)则没有static的方法可以调用static方法;
        *         (3.2)有static方法不能调用非static方法;
        *
        *4,原因:static和类一起加载;所以非static方法只能等类实例化后,才会存在
        *
        */
       public static void a(){

      }
       public void b(){
           a();
      }


    }
  • 代码2:形式参数和实际参数

    public class Demo03 {
       public static void main(String[] args) {

           Demo03 demo03=new Demo03();
           int sum=demo03.add(1,2);
           System.out.println(sum);

      }

       public int add(int a ,int b){
           return a+b;
      }
    }
  • 代码3:引用传递


    //一个类里面可以有多个class,但是只能有一个public class
    public class Demo05 {
       public static void main(String[] args) {

           //引用传递:一般是传递一个对象;本质还是值传递
           Person person=new Person();
           System.out.println(person.name);

           System.out.println(\"--------------\");

           change(person);
           System.out.println(person.name);//haha

      }

       public static void change(Person person ){
           //Person是一个对象:指向的--->Person person=new Person();这是一个具体的人,可以改变属性
          person.name=\"haha\";

      }

    }

    //定义了一个Person类,有一个属性name
    class Person{
       String name ;//默认值为Null


    }

     

  •  


来源:https://www.cnblogs.com/xiangcai0522/p/15975417.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java基础学习:面向对象02(重点看:引用传递)

相关推荐

  • 暂无文章