方法

事物的行为
class Car{
static void all(){
    System.out.println("荷载25人");
    System.outprintln("最高时速240km/h");    
}
int load(int person){
    int carring = person*50;
    return carring;    
}    

}

方法格式

方法修饰符 方法返回值 方法名([参数列表]){
        方法体
}
方法优点:提高代码的复用性

方法重载

overload:同一个类中,方法名相同,参数列表不同(类型和个数不同);
        方法的返回值相同;
方法重载:体现了程序的灵活性
calss Car{
all(int load){};
all(int load,int speed){};
all(int load,int speed,int price){};
}

可变参数

参数形式:类型+三个点+参数名

可变参数优点:在不知道参数个数的情况下可以传入多个对象进去
class xx{
        static void MultipleParam(Object... args){
            for(Object obj: args ){
                System.out.println(obj);    
                }    
            }
            
    public static voide main(String[] args){
            int a = 1;
            int b = 2;
            int c = 3;
            MultipleParam(a,b,c);//输出1,2,3        
            }
    }

形参和实参

形参:定义方法时参数列表里规定的参数类型和参数名
实参:方法调用时,传入的实际参数

值传递:方法调用时,实际参数将它的值传递给形式参数;
        形参接收的是实参copy值,在方法中修改形参,实际参数不会改变;
引用传递:方法调用时,实际参数的引用(指内存地址,不是参数的值)被传递给方法中相应的形式参数
         此时形参和实参指向同一内存地址,在方法中修改形参,实参对象也会改变。

基本数据类型(值传递)传递的参数为实参的copy值,对形参的修改不会影响实参。
引用类型(引用传递)传递参数为实参对象地址值,形参和实参指向同一内存地址,对形参的修改会影响实参对象
基本类型的包装类(值传递)是immutable类型,也可看成是值传递操作。

构造方法

(构造函数或者构造器)与类同名的方法;
    不能指定返回类型,不能用void修饰;
    用于初始化对象;
    如果不提供构造方法,编译器默认提供无参构造方法。
    不能被static、final、synchronized、abstract和native修饰

无论构造方法是否使用,都建议手动提供无参构造方法。

构造方法格式:

修饰符 类名([参数列表]){方法体};

代码块

静态代码块: static{},存在于类中方法体外;只加载一次(随着类的加载而加载);优先级最高;静态代码中不能存放普通变量,不能访问普通变量;配置文件可存放于静态代码块中。

构造代码块:{},没有static修饰,存在于类中方法体外;随着对象的创建而加载;优先级低于静态代码块;

构造函数:用于对象初始化,创建对象时调用。

普通代码块:定义在方法中,用{}

代码块执行优先级:静态代码块>构造代码块>构造函数>普通代码块
image.png
image.png

方法重写


brent
1 声望2 粉丝

这个人很懒,什么都没有留下!


« 上一篇
javase变量
下一篇 »
javase关键字