一、第三课总结
1、默认的构造方法
任何一个类都默认包含一个无参数的构造方法(构造器,构造函数)。
public student(){ }
2、构造方法的重载
(1)自己给类重新定义构造方法,叫做构造器的重载。
public student(String s){ }
(2)可以在同一个类中定义多个构造方法。
public class student{ public student(String s){ } public student(String s,int j){ } }
3、构造方法的特点
(1)构造方法的名字必须和类一样
public class student{ public student(String s){ } }
(2)构造方法只能通过new来调用,且调用哪一个构造方法由创建的新对象的参数决定
public class tbc{ public static void main(String[] args){ student st1=new student("tbc"); student st2=new student("tbc",10); } }
(3)当重载了构造方法时,则默认的构造方法自动消失,如果还想使用默认的构造方法,则需显式声明
public class student{ public student(String s){ } } public class tbc{ public static void main(String[] args){ student st1=new student(); student st2=new student("tbc"); } }
运行时,控制台出现如下提示:
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
构造函数 student()未定义
at print.tbc.main(tbc.java:5)
更改后:
public class student{ public student(){ } public student(String s){ } } public class tbc { public static void main(String[] args){ student st1=new student(); student st2=new student("tbc"); } }
(4)构造方法没有返回值类型,也没有void,但却有返回值,返回的是对象
如,一般方法的返回:
格式:访问限定符 返回值类型 方法名(){}
public String study(){
return"AAA";
}
而下例中是不报错的。
public class Return {
public Return(){
return;
}
}
又如:
public class Tbc { public Tbc(){ } public String Tbc(){ return"AAA"; } public static void main(String[] args) { Tbc t1=new Tbc(); System.out.println(t1.Tbc()); } }
(5)构造方法的作用
构造方法的基本作用就是对类中的属性初始化,或进行传值
public class Tbc { private String name ; public Tbc() { } public Tbc(String name) { this.name = name ; System.out.println("有参数构造函数") ; } public String getName() { return this.name ; } } public class Manager { public static void main(String args[]) { Tbc p2 = new Tbc("AAA") ; System.out.println(p2.getName()) ; } }
运行结果为:
有参数构造函数
AAA
4、构造方法与一般方法的区别
1、命名不同:
方法名小写,不能和类名相同,构造方法名与类名相同。
2、是否有访问限定符:
构造方法可以有任何访问的修饰,如: public, protected, private或者没有修饰;
3、返回值类型:
4、作用:
构造方法多用于初始化对象状态,对属性赋初值,实例方法用于实现某个功能。而且对于构造方法来说,创建对象后自动调用构造方法,实例方法必须用“对象.方法”进行调用。