一、第三课总结
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、作用:
构造方法多用于初始化对象状态,对属性赋初值,实例方法用于实现某个功能。而且对于构造方法来说,创建对象后自动调用构造方法,实例方法必须用“对象.方法”进行调用。