详谈Java构造器

学习Java有一段时间了,在摸索了csdn一段时间后,我决定开始写自己的博客,一方面为了总结自己所学的知识,另一方面也希望能帮助到有需要的人,下面是我对Java中构造器比较详细的总结(部分文字来源于我看的视频)
初学Java时,总觉得自己对Java中的构造器十分的不理解(当然现在也不能说是完全掌握),后来通过后面的学习,慢慢的揭开了构造器的神秘面纱(现在也正在揭开的路上).

1:构造器的概念
构造器也叫构造函数,构造方法.本质上也是一个方法.可以通过构造器构造出来一个实例(也就是我们常说的new一个实例对象),期间构造器对对象进行了初始化(包括方法里面的参数,稍后讲到).
2:构造器的格式
(1)方法名与类名一致.
(2)没有返回值类型,void也没有
(3)没有具体的返回值
3:构造器的特性
(1)Java编译器会自动创建无参的构造器,这就是为什么当你创建一个对象的时候可以直接new的原因.
(2)如果你在创建对象的所属类里面创建了带参的构造器,这时编译器为你创建的无参构造器就消失了.所以当你在创建这个类的实例对象的时候,就必须带上这个参数.建议在创建带参构造器的时候也创建一个无参的构造器,因为如果不加就不能构造无参的对象.(在此就不展示代码了)
在这里还要补充一点:如果创建了带参的构造器的对象,构造器会自动的为这些成员属性赋值,即初始化(String等引用类型:null, double:0.0d, float:0.0f , byte,short,lang:0 char:"\0000" boolean:false).
4:构造器与继承的关系
构造器是不能被继承的,只能被调用.但是他们之间存在一定的联系,子类之所以会自动调用父类的构造器,是因为子类继承父类.会用到父类中的数据,所以子类必须知道父类是如何对数据进行初始化的,所以在子类进行对象实初始化的时候,会先调用父类构造器.一般可以通过super()来调用父类无参构造方法.
5:在构造方法中对成员属性赋值


package com.sxt.jdbc; //学生类
public class Student1 {
public String name;//没有添加构造器

}
package com.sxt.jdbc;
//测试类
public class Test {
public static void main(String[] args) {
	Student1 s=new Student1();
System.out.println(s.name="田荣");
}
}

该结果是:田荣;
6:构造器与setget方法的区别与联系
联系:都可以给对象赋值,都可以访问private私有属性
区别:1)构造方法可以初始化对象,而setget只能对对象的属性进行修改 .2)构造方法赋值可以不加引用,可以直接new,会直接在jvm开辟空间,而set/get方法必须通过引用来调用.3)如果你的属性被private了,那么通过get/set仍然可以访问.
(eclipse中提供了自动生成构造器与set/get方法的快捷键,课自行百度)

以上就是这次分享的内容.希望小萌新拿去学习,大佬前来指点

原创文章 5 获赞 5 访问量 127

猜你喜欢

转载自blog.csdn.net/weixin_46255799/article/details/105861438