06 Java面向对象编程(二)——方法回顾和加深

二、方法回顾和加深

1.方法的定义

​ 修饰符

​ 返回类型

break(跳出switch,结束循环)和return(结束方法)区别

​ 方法名:注意规范,见名知意

​ 参数列表:(参数类型 参数名) …可变长参数

​ 异常抛出

package com.oop.demo01;

//Demo01类
public class Demo01 {
    //main方法
    public static void main(String[] args) {

    }

    /*
    修饰符  返回值类型  方法名(...){
         //方法体
         return 返回值;
     }
     */

    //return结束方法,返回一个结果
    public String sayHello() {
        return "Hello World!";
    }

    public void print() {
        return;
    }

    public int max(int a, int b) {
        return a > b ? a : b;//三元运算符
    }

}

2.方法的调用:

​ 静态方法

​ 非静态方法

​ 形参和实参

​ 值传递和引用传递

​ this关键字

1)静态方法:
//Student.java
package com.oop.demo01;
//学生类
public class Student {
    //静态方法
    public static void stusay(){
        System.out.println("Students");
    }

}


//Demo02.java
package com.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {
        //静态方法 static
        Student.stusay();
    }

}


2)非静态方法:
//Stuudent.java
package com.oop.demo01;

//学生类
public class Student {
    //非静态方法
    public void stusay() {
        System.out.println("Students");
    }

}

//Demo.java
package com.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {
        //非静态方法 要实例化new
        //对象类型 对象名 = 对象值
        Student student = new Student();
        student.stusay();
    }

}

一个类中,两个静态方法可以互相调用,两个非静态方法可以互相调用;但是一静态方法不能调用非静态方法。

静态方法,和类一起加载的(早)

非静态方法,类实例化后,才会存在(晚)

3)实参与形参

实际参数:实际传递的参数

形式参数:只是参数的名字,在方法定义中

4)值传递与引用传递

值传递(Javaa是值传递)

package com.oop.demo01;

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

        Demo03.change(a);
        System.out.println(a);//1


    }

    //返回值为空
    public static void change(int a) {
        a = 10;
    }
}

引用传递:

package com.oop.demo01;


//引用传递:对象,本质上还是值传递
public class Demo04 {
    public static void main(String[] args) {
        Person person = new Person();

        System.out.println(person.name);//null
        Demo04.change(person);
        System.out.println(person.name);//宇宙洪荒

    }

    public static void change(Person a) {
        //a是一个对象,只想一个具体的Person
        a.name = "宇宙洪荒";
    }
}

//定义了Person类,有一个属性name
class Person {
    String name;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值