构造函数

本文介绍了构造函数在Java中的作用,它用于初始化对象的成员变量,并非创建对象。详细阐述了构造函数的特性,包括无参和有参构造函数的使用,以及构造函数执行的四个步骤。此外,还讲解了不同类型的构造函数,如私有、公有和静态构造函数,并提供了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,构造函数:

构造函数是初始化已创建好的对象中成员变量的,而不是创建对象的,构造函数只是进一步为已创建的对象属性赋值,使之更新“想象”中的对象,对象在非静态代码块执行之前,在构造方法调用之前已经存在了。

自己的理解:方便类之间进行赋值

 

二,构造函数的特性:

1,创建对象的图书方法,方法名和类名一样,没有返回值,连void都不用

2,构造函数可以有参数

3,如果不指定构造函数,则类有一个默认的无参构造函数,

4,如果在类中定义了有参的构造函数,编译器就不会再生成无参的构造函数。此时若需要调用无参构造函数,需要在类中定义,否则编译器会报错。

 

三,构造函数的执行过程:

1)传参  

2)给类数据成员开辟空间    

3)执行冒号语法给数据成员初始化  

 4)执行构造函数括号里面的内容

附上代码:以下主要是有两个构造函数,一个是无参的,另一个是含参的

 class Person
    {
        private string gender;
        public string gender 
        {
            get { return gender; }
        }
        public Person()//实例构造函数(无参构造函数)
        {
            this.gender = "keeping moving";
        }
        public Person(string strgender)//有参构造函数
        {
            this.name = strgender;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();//调用无参构造函数
            Console.WriteLine(person.gender);

            Person person2 = new Person("girl");//调用有参构造函数。
            Console.WriteLine(person2.gender);
            Console.ReadKey();

        }
    }
}

 

四,构造函数的类型:

私有:私有构造函数只能在类中使用,不能超出这个类的 范围

公有:可以在多个类中使用

静态:静态调用函数只能调用一次。

举例如下

 class PersonSta 
    {
        static string name;//静态字段
        public static string Name //静态属性
        {
            get 
            {
                return name;
            }
        }
        static PersonSta() //静态构造函数,仅执行一次
        {
            Console.WriteLine("静态构造函数被调用了");
            name = "keep moving";

        }

    }
      class Program
    {
        static void Main(string[] args)
        {
          //调用了两次,‘静态构造函数被调用了’--这句只被打印了一次。
              Console.WriteLine(PersonSta.Name);
            Console.WriteLine(PersonSta.Name);
        }
     }

 

 

 

 

 

 

 

 

 

 

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值