java基本知识二

java基本知识(二)

包含方法重载、递归调用、封装、构造方法、匿名方法

一、方法重载

public static int add(int a,int b){

.............

}

public static int add(string str1,string str2,string str3){

..............

}

当调用add方法时,通过add()括号中当参数类型几数量来判断执行那个方法

注意:add前当int代表当是返回值当类型,当add(int a,int b)相同时,add前面的返回值类型不同,也会视为同一个方法,编译不会通过。如下所示:

public static int add(int a,int b){

.............

}

public static double add(int a,int b){

.............

}

当编译时,会报错,因为这两个方法重复了。

二、递归

递归要注意结束当设置,不然会一直调用自身函数,永不停止。

public static int sum(int num){

       if(num <= 0){

            return 1;

       }

       return num + sum(num-1);

}

不断当调用自身,知道满足if,返回一个值,不再对自身进行调用,就是跳出了递归。

三、封装

一般设计一个类时,要将申明对变量进行封装,也就是使用private进行申明,然后通过getter、setter方法对外提供,为什么不直接对外提供变量,是因为变量直接被外界所用,会没有任何限制,比如:“年龄”这个变量,外部可以直接调用对话,可以使其为负数,这样明显不符合要求,当用setter函数时,外界只有通过setAge来调用年龄这个变量,然后我们可以在setAge这个方法中增加一些设置、限制,如下:

public void setAge(int age1){

     if(age1 <= 0){

          this.age = 0;

     }else{

          this.age = age1;

     }

}

这样,在外界输入当age进过setAge方法,为负数当值直接设置为0。

四、构造方法、匿名方法

构造方法是和类名相同当方法,不增加构造方法,系统会默认一个无参数、无返回值的构造方法。构造方法是在new之后进行的。

Test test = new Test();            Test test;

其中,第一个Test是说明是哪一个类;test是使用这个类创建的对象,然后起了一个对象名;new说明要给这个对象分配内存空间,

若是么有new,只是申明,则还没有对这个对象分配内存空间;Test()是这个类对构造方法,当new结束时,再执行构造方法,也就是这行代码执行完后,对应当构造方法也执行了,同时,构造方法也不只有一个,最少有一个。

public Test(){}

public Test(String str,int num){

   this.name = str;

   setNumber(num);

}

这是两个构造方法,当申明当时候,参照构造方法中当参数来执行哪个构造方法,比如:

Test test =new Test("paul",15);这时就会执行第二个构造方法。

当只需要使用一次这个类时,也只需要使用这一个方法,那么可以使用匿名方法,不用取这个对象名字,比如:

System.out.print(new Test("paul",15));

这样就只使用当一次这个类以及这个方法,当执行完这个语句时,这个匿名方法也就结束了。

猜你喜欢

转载自blog.csdn.net/lhd_paul/article/details/81139977