java学习笔记33--方法的定义个调用

方法一定是定义在类中的,属于类的成员。

    方法的定义:
        修饰符 返回类型 方法名(参数列表)异常抛出类型{...}
        
        1)修饰符:
            public static abstract final等等都是修饰符,一个方法可以有多个修饰符.例如程序入口main方法,就使用了public static这个俩个修饰符
            注:如果一个方法或者属性有多个修饰符,这多个修饰符是没有先后顺序的

        2)返回类型:
            方法执行完如果有要返回的数据,那么就要声明返回数据的类型,如果没有返回的数据,那么返回类型就必须写void.
            只有构造方法(构造器)不写任何返回类型也不写void
            例如:
            public String sayHello(){
                return "hello";
            }
            public int max(int a,int b){
                return a>b?a:b;
            }
            public void print(String msg){
                System.out.println(msg);
            }

            思考:声明返回类型的方法中一定要出现return语句,那么没有返回类型(void)的方法中,能不能出现return语句?
            注:break和return的区别
        
        3)方法名:
            遵守java中标示符的命名规则即可.
        
        4)参数列表
            根据需求定义,方法可以是无参的,也可以有一个参数,也可以有多个参数

        5)异常抛出类型
            如果方法中的代码在执行过程中,可能会出现一些异常情况,那么就可以在方法上把这些异常声明并抛出,也可以同时声明抛出多个异常,使用逗号隔开即可。
            例如:
            public void readFile(String file)throws IOException{
            
            }

            public void readFile(String file)throws IOException,ClassNotFoundException{
            
            }

        
    方法的调用:
        在类中定义了方法,这个方法中的代码并不会执行,当这个方法被调用的时候,方法中的代码才会被一行一行顺序执行。
        
        1)非静态方法
            没有使用static修饰符修饰的方法,就是非静态方法.
            调用这种方法的时候,是"一定"要使用对象的。因为非静态方法是属于对象的。(非静态属性也是一样的)
            例如:
                public class Student{
                    public void say(){}
                }

                main:
                    Student s = new Student();
                    s.say();
        
        2)静态方法
            使用static修饰符修饰的方法,就是静态方法.
            调用这种方法的时候,"可以"使用对象调用,也"可以"使用类来调用,但是推荐使用类进行调用,因为静态方法是属于类的。(静态属性也是一样的)
            例如:
                public class Student{
                    public static void say(){}
                }

                main:
                    Student.say();

        3)类中方法之间的调用
            假设同一个类中有俩个方法,a方法和b方法

            a和b都是非静态方法,相互之间可以直接调用.
            public void a(){
                b();
            }
            public void b(){
            
            }

            a和b都是静态方法,相互之间可以直接调用.
            public static void a(){
                b();
            }
            public static void b(){
            
            }

            a静态方法,b是非静态方法
                a方法中不能直接调用b方法,但是b方法中可以直接调用a方法.
            public static void a(){
                //b();报错
            }
            public void b(){
                a();
            }

            另外:在同一个类中,静态方法内不能直接访问到类中的非静态属性.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值