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


    }

     

  •  

posted @   gzs1024  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示