在学习构造方法时,我人都傻了,一时间分不清方法和构造方法有什么区别,一直以为构造是一个动词,在学习过程中,把思维转变了,将构造方法这一个整体看成名词之后就理解了。
我想先说一下两者的区别:
1.创建对象类中使用的方法,大多是一些重复性比较高的代码,会把它做成方法,以后直接调用,这样会很方便,特点是在创建方法时会有static,可有返回值也可以没有。
public static int sum(int num){
sum = sum+num;;
return sum;
}
2.在类中的方法,也就是设计图纸中的方法,主要作用时在创建对象时,调用方法给对象的成员属性(全局变量)赋值用的,比如我创建一个女朋友,给她的年龄赋值18。特点是没有static,但是可以有返回值也可以没有。
public void getAge(int age){
this.age = age;
}
3.构造对象,有无参构造方法和有参构造方法。是设计图中的。在创建对象时虚拟机jvm自动运行给对象的属性赋值。无参构造方法在你没有写任何构造方法时,系统会自动构建,但如果你写了有参构造方法,无参构造方法就不会自动创建了,一般建议在类中有参无参全部写上,因为用户在输入时不一定知道要输入什么内容并且对应什么属性。
4.形式上没有static,没有字面量(int,String等),没有返回值,并且要求构造方法名字和类名保持一致:
public class Student{
private String name;
private int age;
}
public Student(){
}
public Student(String name, int age){
}
无参构造方法,调用:Student st = new Student();
有参构造方法,调用:Student st = new Student(xiaoming , 18);
个人学习之后的理解,虚心请教,希望各位大佬看到错误的地方不吝啬赐教,谢谢!