java中构造方法和普通方法的区别说明
1.普通方法:
定义:简单的说方法就是完成特定功能的代码块。
普通方法定义格式:
修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,.........){函数体;return返回值;}
返回值类型用于限定返回值的数据类型。
普通方法分为:有明确返回值的方法和没有明确返回值的方法。
A.有明确返回值的方法的调用
可以单独调用(无意义)、输出调用、赋值调用(推荐)。
publicstaticintsum(inta,intb) { intc=a+b; returnc; } publicstaticvoidmain(String[]args) { //sum(10,20);//单独调用 //System.out.println(sum(10,20));//输出调用 intsum01=sum(10,20);//赋值调用 }
B.没有明确返回值的方法调用(void类型方法的调用)
只能单独使用。
(如果一个方法没有明确的返回值类型,方法定义中的“返回值类型”就用void代替,表示该方法无返回值类型。)
2.构造方法
定义:简单的来说是给对象的数据进行初始化的。
构造方法是类的一个特殊的成员,在类实例化时会自动调用。
构造方法定义格式:
修饰符方法名(){}
注意:
1.方法名与类名相同。
2.没有返回值类型。3.没有具体的返回值。
构造方法分为:无参构造方法和有参构造方法。
A.无参构造方法
publicclassStudent{ publicStudent(){//无参构造方法 System.out.println("无参方法被调用"); } } publicclassTest{ publicstaticvoidmain(String[]args){ Studentstu=newStudent();//实例化Student对象 } }//该方法是无参的构造方法,即构造方法不接收参数,执行后输出即可,无参的构造方法被调用。
B.无参构造方法
为一个属性赋值有两种方法:①、直接访问对象属性②、通过setXxx()方法
如果想在实例化对象的同时就为这个对象的属性进行赋值,可以通过带参数的构造方法来实现
publicclassStudent{ privateStringname; privateintage; publicStudent(Stringname,intage){//有参构造方法 thisname=name; thisage=age; } publicvoidshow(){ System.out.println("姓名:"+name+"年龄:"+age); } } publicclassTest02(){ publicstaticvoidmain(String[]args) { Studentstu=newStudent("王小五",25);//实例化对象的同时赋值 stu.show(); } }
构造方法注意事项:
1.java中的每一个类都至少有一个构造方法,如果我们没有创建,系统会为我们创建一个默认的无参构造方法。(不显示代码)
2.但是如果我们定义了构造方法,系统就不会再为我们提供默认的无参构造方法了。这个时候想使用无参构造方法必须自己定义。因为实例化对象时,不一定会输入参数,那么没有无参的构造方法,又不输入参数,就会出错。
3.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。
4.构造方法是可以重载的。
补充知识:java中concat()方法,"+"和append()方法的区别?
由下面的例子可看出,"+"和append()方法都可以对任意类型数据进行拼接,而concat()方法则需要将其他类型的数据则要转化为字符串后才能拼接
package练习题; importjava.util.ArrayList; importjava.util.List; publicclass练习题29{ publicstaticvoidmain(String[]args){ List