Java学习笔记(二) 面向对象—构造函数

站长

发表文章数:3062

图像形态学提取边界和区域填充

面向对象—构造函数

特点

  1. 函数名与类名相同
  2. 不用定义返回值类型
  3. 不写return语句

作用

对象一建立,就对象进行初始化。

具体使用情况

class Student {
    Student(){
        System.out.println("Student run");
    }
}
public class StudentDemo {
    public static void main(String[] args) {
        Student S = new Student();
    }
}

我们在以上代码的Student类中加入了与类同名的构造函数,当我们在创建对象S时,就会自动初始化运行System.out.println(“Student run”)这一语句,而无需手动调用函数。
程序的运行结果为:

Student run

当在堆内存中产生对象时,对象需要一个初始化动作。当一个类中有我们自己所定义的构造函数时,构造函数会帮助我们完成初始化动作,但是当类中没有构造函数时,则系统会默认给该类中加入一个空参数的构造函数。

常用控件

构造函数可以重载
一个类中可以有多重名的构造函数,但是多个构造函数之间的参数不能相同。

class Student {
    private String name;
    private int age;
    Student() {
        System.out.println("name="+name+"   age="+age);
    }
    Student(String n) {
        name = n;
        System.out.println("name="+name+"   age="+age);
    }
    Student(int a,String n) {
        age = a;
        name = n;
        System.out.println("name="+name+"   age="+age);
    }
}
public class StudentDemo {
    public static void main(String[] args) {
        Student S1 = new Student();
        Student S2 = new Student("lyx");
        Student S3 = new Student(19,"lyx");
    }
}

运行结果:

name=null   age=0
name=lyx   age=0
name=lyx   age=19

在上述代码中,我们可以发现由于使用的构造函数参数不同,在创建对象时也就调用了不同的构造函数对对象进行初始化。

构造函数和一般函数的不同

  • 写法上不同。
  • 运行上也不同。构造函数在对象一建立时就运行,而一般函数是对象调用才执行。
  • 一个对象建立,构造函数只运行一次,而一般函数可以被对象调用多次。

相应地,一个类中即使有构造函数对对象进行初始化,仍然需要提供公共方法对其访问以便于进行修改和读取。

C#中Equals和GetHashCode

未经允许不得转载:www.xssyun.com作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家-资源网,新人技术交流平台,一个湖北娃的个人博客
原文地址:《Java学习笔记(二) 面向对象—构造函数》 发布于2020-01-31

分享到:
赞(0) 生成海报

长按图片转发给朋友

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册