java初级 关于构造函数

不用了的号 2010-03-20 10:10:18
class mytest
{
int a;
int b;
mytest()
{}
public mytest(int a, int b )
{}
}

我想请问一下,关于这个构造函数是用来做什么的,老师讲都要写这样的函数,到低这样写的目的是什么呢??
...全文
293 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangmingdeshenju 2010-03-22
  • 打赏
  • 举报
回复
没个类,最好都带一个无参数的构造函数,因为 系统很多时候,会默认调用它,
就好比 子类构造函数 构造 父类成员时,默认的是 super();
如果父类没有 无参数构造器,如果你不显式调用 super(x,y),就会报错。
哈特中尉 2010-03-21
  • 打赏
  • 举报
回复

class Panda
{
int id;
String naem ;
public Panda()
{
//.................
}
public Panda(int id,String name)
{
this.id=id;
this.name=name;
}
//实现了构造函数的重载
}
class TestPanda
{
public statci void main(String[]args)
{
Panda p1=new Panda();//调用无参构创建对象,它的属性未被赋值
p1.id=100;//给id赋值
p1.name="小小";//给name赋值

Panda p2=new Panda(200,"大大");//调用两参的构造函数,在创建对象的时候就赋值了
//而且是必须的
}
}
huangdh12 2010-03-21
  • 打赏
  • 举报
回复
初始化对象,系统默认提供一个构造函数 ,但是一旦你写了一个构造函数,那么就不提供默认的构造函数了,需要自己写无参构造函数
zhudongdong007 2010-03-21
  • 打赏
  • 举报
回复
感觉就是用在创建对象时候用的。
在new的时候,会自己调用。呵
加油,楼主。
xxpp688 2010-03-21
  • 打赏
  • 举报
回复
简单的说: 构造函数方法不用手动调用 在类初始化的时候自动调用。
即当你new()出类对象时执行
class mytest
{
public mytest() //无参构造器
{
System.out.println("我无参数");
}
public mytest(int a, int b )
{
System.out.println("我无参数"); //两参构造器
}
public statci void main(String[]args)
{
mytest mt= new mytest(); //调用无参构造器
mytest mt= new mytest(12,11); //调用两参构造器
}
在你不显示的写构造器时系统默认一个无参空构造器
}
jzx2008 2010-03-21
  • 打赏
  • 举报
回复
构造函数是在new对象时,用来初始化这个对象的实例成员的。
Agile牧 2010-03-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qqcrazyboy 的回复:]
Java code

class Panda
{
int id;
String naem ;
public Panda()
{
//.................
}
public Panda(int id,String name)
{
this.id=id;
this.name=name;
}……
[/Quote]

正解 不解释
零起跑线 2010-03-21
  • 打赏
  • 举报
回复
12楼的例子很好
Ark032425 2010-03-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhouyong80 的回复:]
构造函数很显然直接从字面意思理解就可以了,用来构造对象的。java中一切都是对象,要想完成指定的逻辑,对象操作时不可少的。然而,对象不是天上掉下来的,是构造出来的。同时构造函数也是函数,也有参数,也有返回值,隐式的返回一个根据传入的参数构造的对象。函数又是可以重载的,所以,的类中有两个构造函数,一个是没有参数的,默认的构造函数。如果你不自己写一个无参的构造函数,同时你的类中也没有有参的构造函数,系……
[/Quote]
很具体了
zhouyong80 2010-03-21
  • 打赏
  • 举报
回复
构造函数很显然直接从字面意思理解就可以了,用来构造对象的。java中一切都是对象,要想完成指定的逻辑,对象操作时不可少的。然而,对象不是天上掉下来的,是构造出来的。同时构造函数也是函数,也有参数,也有返回值,隐式的返回一个根据传入的参数构造的对象。函数又是可以重载的,所以,的类中有两个构造函数,一个是没有参数的,默认的构造函数。如果你不自己写一个无参的构造函数,同时你的类中也没有有参的构造函数,系统便会帮你加一个,无参的构造函数。这样,当你用ObjectName o = new ObjectName()时才能生成一个该类的对象。当你有有参数的构造函数时,系统将不再为你自动生成无参的构造函数,系统会认为你知道怎么来生成这个类的对象,以及生成这个类的对象需要哪些参数。在你的列子中mytest s = new mytest(a,b)才能生成该类的对象。而是用new mytest()是会报错的。
wal812834184 2010-03-20
  • 打赏
  • 举报
回复
初始化的!!!!!!!!!当你建立一个对象时,你就必须要和你构造函数的形式是一样的的 没有带参数的是默认的!但是当你构造有参数函数式,就要new成那样的!
LemonTree17 2010-03-20
  • 打赏
  • 举报
回复
第一个是默认构造,第二个是带参数构造,都是用来创建类的。有几个构造就说明有几种创建类的方式。
bbb332 2010-03-20
  • 打赏
  • 举报
回复
构造函数就是在你创建对象时调用的函数。。。
jiandanai54321 2010-03-20
  • 打赏
  • 举报
回复
那就是一个用来初始化的 函数 这是JVM 在执行时 进行的 就算你没有声明这样一个函数系统也会自己调用一个带有缺省参数的构造函数
不懂就先记住呗 关于JAVA 的知识了解多了就 就没有那么多的为什么了
我也是个新手 先多看书就是了 至于内部的实现机理 到时候再去参悟 慢慢就懂了
godismydaughter 2010-03-20
  • 打赏
  • 举报
回复
作用就是对类进行初始化。
如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那麼你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数,
class b{ a c = new a();}//a()不能带任何参数。
无伤 2010-03-20
  • 打赏
  • 举报
回复
构造函数是用类创建类的实例的, 如:
class yourtest
{
int a;
int b;
mytest x = new mytest(); //在yourtest中创建个无参的mytest

mytest s = new mytest(a,b) //再yourtest中创建有两个参数的mytest


}
godismydaughter 2010-03-20
  • 打赏
  • 举报
回复
当mytest myte=new mytest();时,就会执行构造方法,可以进行初始化。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧