Java方法回顾及加深

回顾方法及加深

方法的定义

  • 修饰符
  • 返回类型
  • break 和 return 的区别
  • 方法名
  • 参数列表
  • 异常抛出
package com.oop;

import java.io.IOException;

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

    }

    /*
    修饰符 返回值类型 方法名(...){
        // 方法体
        return 返回值;
    }
     */
    // return 结束方法,返回一个结果
    public String sayHello(){
        return "hello world";
    }

    public void hello(){
        return;
    }

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

    // 数组下标越界:ArrayIndexOutOfBoundsException

    public void readFile(String file) throws IOException{}

}

方法的调用

  • 静态方法
  • 非静态方法
  • 形参和实参
  • 值传递和引用传递
  • this 关键字
package com.oop;

// 学生类
public class Student {

    // 静态方法
    public static void say(){
        System.out.println("学生说话了");
    }

    // 非静态方法
    public void sleep(){
        System.out.println("学生睡觉了");
    }
}
package com.oop;

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

        // 静态方法 static
        Student.say();

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

    }

    // 和类一起加载的
    public static void a(){
        // b();
    }

    // 类实例化 之后才存在
    public void b(){

    }

}
package com.oop;

public class Demo03 {
    public static void main(String[] args) {
        // 实际参数和形式参数的类型要一一对应
        Demo03 demo03 = new Demo03();
        System.out.println(demo03.add(1, 2));
    }

    public int add(int a, int b){
        return a + b;
    }
}
package com.oop;

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

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

// 引用传递:对象,本质还是值传递
public class Demo05 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);// null

        Demo05.change(person);
        System.out.println(person.name);// Kindred
    }

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

}

// 定义了一个 Person 类,有一个属性:name
class Person{
    String name;// null
}
posted @ 2026-02-06 15:01  弋湖  阅读(4)  评论(0)    收藏  举报