方法的重载
Java中方法的重载
在Java中方法的重载的意思是允许有名字一样的方法出现,只是参数的个数和类型发生了变化。这和python中有所不同的是,python里面是不允许有名字一样的方法的,如果想要用同一方法实现不同功能,那么python里的处理方式是用*来把输入的所有参数按照数组的形式存储下来,这样就没有了输入的参数限制。
JAVA中:
//实现2个数相加
public static int add(int m ,int n) {
int s=m+n;
return s;
}
//实现3个数相加
public static int add(int m ,int n,int b) {
int s=m+n+b;
return s;
}
python中:
def add(*num):
sum=0
for i in num:
sum=sum+i
那么Java是如何实现python中的默认参数的设置的呢,也是用方法的重载:
python
def inf(name,nation='汉族'):
print('名字:',name)
print('民族:',nation)
java
public static void inf(String name){
System.out.println("名字:"+name)
System.out.println("民族:汉族")
}
public static void inf(String name,String nation){
System.out.println("名字:"+name)
System.out.println("民族:"+nation)
}
所以以目前我学到的知识来看,Java对于方法中参数的处理也就是重载,并没有python中好用。
在看了构造方法后,知道了其实构造方法就相当于在创建对象的时候,对类内的变量等赋初值,构造方法需要和类重名,且一般的时候需要一个无参的构造方法和有参的构造方法。
对比python中的初始化过程,python中是使用 def init(): 这种方法来初始化的。同样在对象创建的时候自动就会执行这个方法,完成初始值的赋值。