Java教程

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

本文主要是介绍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
    ​
    ​
    }
    ​

     

  •  

这篇关于Java基础学习:面向对象02(重点看:引用传递)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!