2019-06-04方法复习要点

2019-06-04  本文已影响0人  卡布奇诺_7828

复习要点

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类似是一个门卫,要求调用者
    }
}
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
   }
}
上一篇下一篇

猜你喜欢

热点阅读