复习02-方法

复习要点

1.方法

概念:方法是一套功能代码

1.1认识方法

// 方法的声明有一个固定大概的形式,即
// [访问权限修饰符] [静态] 返回值类型 方法名(形参列表){方法体}
// 其中[访问权限修饰符] [静态]根据需要选择是否需要
public void test(){
    int num = 10;
}

1.2方法返回值介绍

// public 公有,封装符号,其余还有protected,默认的,private
// 返回值类型,可以是一切基本或引用数据类型
// 有返回值的方法可以向方法外部提供数据,在调用该方法的地方就可以接返回值
// 类似顾客(被调用方法)给服务员提供小费,给int,String,还是其他类型由顾客决定
// 但当不想给“小费”时,也要写一个关键字void
public int getNum(){
    return 1;
}
public String getString(){
    return "hello";
}
public int[] getArray(){
    int arr = {1,2,3};
    return arr;
}
public void showInfo(){
    System.out.println("Sorry");
}

1.3方法的参数

public class Demo {
    // num为形参,类型要求为int
    public void test1(int num) {
        System.out.println(num);
    }
    public void test2(){
        // 调用时需要按照“对方”的要求,给对方参数,才能调用
        // 形参类似是一个门卫,要求调用者必须按要求“出示”参数
        test1(6); // 正确
        test1("hello");// 错误 
    }
    
    public void test3(int arr[]) {
        System.out.println(arr[0]);
    }
    public void test4() {
        int arr[] = {1,23,56};
        test3(arr); // 正确
        test3("hello");// 错误 
    }
}

1.4方法的重载(静态多态,编译时多态)

概念:同一个类中同名不同参的方法(与返回值无关)

public class Demo {
    public int test1(){
        System.out.println("123");
        return 1;
    }
    public void test1(int num){
        System.out.println(num);
    }
}

1.5特殊的方法——构造器

作用:创建对象

// 构造器(构造方法):1.与类同名,2.没有返回值,没有void
public class Demo {
    // 无参构造器
    public Demo() {
        
    }
    // 有参构造器
    public Demo(int num) {
        
    }
    // 普通方法,命名还不规范,受人鄙视
    public void Demo() {

    }
}

1.6方法的调用

提示:

在不同的类中,static修饰的方法或属性可以直接通过类名调用

public class DemoClass_One{
    static int num = 999;
    public static void show(){
         System.out.println(1);
    }
}
public class DemoClass_Two{
    public static void main(String[] args) {
        // 使用别人的东西,当然要“喊”对方的名字,所以需要加类名
        DemoClass_One.show();// 打印输出1
        System.out.println(DemoClass_One.num);// 打印输出999
    }
}

在同一个类中,static修饰的方法只能直接访问static成员

public class DemoClass_One{
    int i = 1000;
    static int num = 999;  
    public static void demo1(){
        
    }
    public void demo2(){
        
    }
    // 静态方法:只能直接访问静态的属性或其他静态方法
    public static void test(){
        System.out.println(num); // 正确
        System.out.println(i);// 报错
        demo1();// 正确
        demo2();// 报错
    }
}

静态的属性共享(大家用的都是同一个)

public class Demo{
    static int num = 100;
}

public class Test{
   public void test1() {
       Demo.num++;
   }
   public void test2() {
       Demo.num++;
   }
   public void test3() {
       test1();
       test2();
       System.out.println(Demo.num);// 打印输出102
   }
}

经典练习题

方法的定义

1.定义一个Test类,定义一个返回值类型为String的方法,名为test,形参为int,并返回“你好”

2.定义一个类Demo,在类中定义一个方法show,形参为两个double,返回值为这个两个参数的和

方法的调用

3.在Test类中,定义一个方法do,调用上述1题中所定义的方法

静态

4.static修饰的类和方法有什么特点?如何调用?

构造器的作用

5.构造器的作用是创建对象

重载,又称为静态多态,编译时多态,overload

6.同一个类中同名不同参的方法称为重载(与返回值无关)

public class Demo {
    // 方法的重载
    public void test1(int num) {
        
    }
    // 方法的重载
    public int test1() {

    }
    // 错误,同一个类中不能有同名同参方法
    public double test1() {

    }
}

你可能感兴趣的:(复习02-方法)