导航:首页 > 编程语言 > java为什么要构造方法

java为什么要构造方法

发布时间:2021-03-07 16:01:17

java构造方法有什么让其它方法没办不到的JAVA为什么要有构造方法

你下边的问的来正好回答了第一源个问题..构造方法不能有返回值.其他的和普通方法一样.不过构造方法其实是有返回值的.它返回一个新的对象 A a=new A(); 这个new A()就是A类的构造方法.这也就是你问的第二个问题了.只有调用构造方法才能产生对象.

⑵ java为什么要提供默认构造方法作用是什么

class Test {
int n;
}
这段没有人为构造方法
class Test {
int n;
Test(int n) {
this.n=n
}
Test(){
this.n=1;
}
}
这段有人为(的两种不同参数的)构回造方法
默认构造方法的答作用和人为构造方法作用差不多,就是假如你不声明构造方法,他总得调用一个构造方法,但是他又找不到人为定义的,所以就用这个默认的不带参数的空方法作为构造方法
作用大概就是这样

⑶ 学习java一段时间了,突然就不明白为什么要用构造函数了它有什么作用呢

在new的时候自动调用,一般用来进行初始化,作用就是方便。

⑷ java中为什么要有构造方法

你可以不使用构造方法 , 使用构造方法的好处是可以在对象初始的时候就对某些变量赋值等操作,大大的减少 了代码量 , 能减少代码量的东西谁会不用呢

⑸ Java中创建对象时,为什么要调用构造方法构造方法的作用是什么

初始化对象 (默认的构造器是可以不写的) 构造器是可以带参数的 通过参数能直接初始化一个你想要的对象

另外 将构造方法私有化 就可以防止其他的程序员乱NEW该类的对象

用处很多的 我不知道你想知道具体的什么?

⑹ java中为什么要使用构造方法

初始化class啊?!

⑺ 什么叫做JAVA的构造方法(含义)

在Java中,每个类都需要至少一个的构造方法(可以有多个),它用于构造类的对象;在Java中构造方法必须与类名相同;构造方法可以不带有参数、也可以带有参数,不带有参数的构造方法被称为无参构造(no-arg)方法。

这里大家可能会觉得奇怪,我们之前的MainClass好像就没有构造方法。其实是这样的,如果我们不给类提供构造方法,编译器会自动提供一个无参构造方法。

定义构造方法的语法如下:

Java代码
constructorName (listOfArguments) {
[constructor body]
}
其中constructorName必须和你定义的类的名字相同,listOfArgumengs是构造方法的参数列表,当然,这里也可以不带有任何参数。然后大括号内是我们的方法体。这里提一下,构造方法也可以带有访问控制符,即public、protected、private和default(忽略情况下)。

下面的例子给出了一个构造方法的实例:

Java代码
public class MainClass {
double radius;

// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}
}
可以看出,我们给MainClass定义了一个构造方法,它的修饰符是默认的。后面的教程大家会学到这几个访问控制符的作用。我们的MainClass的构造方法带有一个double参数,这里大家也可以看出,构造方法的参数可以用于初始化类的属性,其实强制要求带参数的构造方法可以保持类的状态的完整性,即保证构造出的对象是符合要求的。

默认构造方法
前面我讲过,如果没有提供构造方法,编译器会提供一个默认的构造方法(没有参数)。这里其实也隐含着一个意思,即,如果我们提供了构造方法,那么编译器是不会提供默认的构造方法的。我们可以通过下面的代码来验证。

Java代码
public class MainClass {
double radius;

// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}

public static void main(String[] args) {
MainClass mc = new MainClass();
}
}
大家可以尝试编译上面的代码,可以发现编译会出错,提示的错误信息为:

Java代码
The constructor MainClass() is undefined
这个信息的意思是构造方法MainClass()没有定义,即编译器没有给我们提供默认的构造方法。那么如果我们还想继续使用无参的构造方法的话,这就需要我们自己来提供了,如:

Java代码
public class MainClass {
double radius;

MainClass() {

}

// Class constructor
MainClass(double theRadius) {
radius = theRadius;

}

}
上面的代码我们自己手动的提供了一个无参的构造方法MainClass(),大家现在尝试编译代码,会发现,代码是可以通过编译的。所以在自己实际的工作中,稍微注意这点。

多个构造方法
其实我们前面已经见过多构造方法的例子了,不过这里给大家提示下,Java支持一个类中定义多个构造方法,如:

Java代码
class Sphere {
int radius = 0;

Sphere() {
radius = 1;
}

Sphere(int radius) {
this.radius = radius;
}
}
这里我们定义了球(Sphere)类,然后定义了它的半径并提供了两个构造方法。在默认的构造方法里,我们将半径设置为1,然后在带有半径作为参数的构造方法中,我们设置了半径为提供的值。

在一个构造方法中调用另一个方法
我们一直称呼构造方法,那么既然是方法,当然支持方法的调用。在Java中,我们可以从一个构造方法中调用另一个构造方法。要调用另一个方法,只要使用this关键字,然后后面跟着括号,如果要调用的构造方法中带有参数,只要将参数放到对应的位置即可。如:

Java代码
class Sphere {
int radius = 0;
double xCenter;
double yCenter;
double zCenter;

Sphere() {
radius = 1;
}

Sphere(double x, double y, double z) {
this();
xCenter = x;
yCenter = y;
zCenter = z;
}

Sphere(int theRadius, double x, double y, double z) {
this(x, y, z);
radius = theRadius;
}
}
在使用这种方式的时候,稍微注意下,不要引起循环调用。在出现循环调用的时候,编译器会出现类似于如下的提示来阻止类编译通过:

Java代码
Recursive constructor invocation MainClass(int)
它的意思是递归的构造方法调用,大家遇到这个问题的时候,稍微检查下自己的代码,看看构造方法是否出现递归调用了。

⑻ java为什么需要构造方法

就好像不同的人有不同的行为一样。如:
你在写程序!
我什么也没有回做!

应该是以便于答重载吧如:
public class Hello
{
public Hello()
{
//do something
}
public Hello(String str)
{
//do others
}
public static void main(String[] args)
{
Hello hello = new Hello();//do something
Hello other = new Hello("hello world");//do others
}
}

⑼ 在java语言中为什么有时候构造方法有时要构造一个没有参数的方法

构造方法 是一个类要实例成对象 调用的方法; 是必须有 , 但是你创建一个专类, 经常不写,属 你不写, 不代表你写的类没有, 只要你不写,java底层都会生成一个默认的无参数的方法!

但是:如果你写了一个构造方法, 不管有参无参, 系统就不会再默认生成 , 这时如果你写的是有参的, 那无参的那一个就没 了, 系统不会生成了, 你用的时候就不能直接new 类名(); 这个了
只能用 new 类名(参数);

所以:一般来说, 只要写了有参的构造函数,都要写一个无参的构造函数

⑽ java进行构造方法的时候,为什么一定要有一个无参构造方法

1.子类继承父抄类的时候会自动继承父类的默认构造函数(也就是继承那个无参数的构造函数)。

2.无参构造函数是所有构成函数的父类,如果没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误的发生,在有带有多个构造函数的类里面都会写一个不带参数的构造函数。
出自育知同创教育,望采纳

阅读全文

与java为什么要构造方法相关的资料

热点内容
台版iphone6有什么区别 浏览:711
小说电影图片 浏览:114
求个在线看h的网站 浏览:859
神鼠电影网第一页 浏览:938
361电影电视剧 浏览:303
韩国一个护工照顾病人的电影 浏览:398
重生薛仁贵之推薛琪 浏览:42
免费观看欧美纯爱电影 浏览:60
男主角叫徐东的小说 浏览:274
绿版各种改编玄幻小说 浏览:560
张寒三虎翠儿免费阅读 浏览:670
国产小电影网站 浏览:489
最快影院 浏览:313
如何知道wifi登陆过什么网站 浏览:887
婴儿用品网站哪个好 浏览:398
音乐网站怎么建设 浏览:957
鸿蒙系统如何设置文件夹 浏览:250
linuxmysqlsql文件导入 浏览:82
华为设置壁纸在什么文件夹 浏览:750
哪些笔记APP可以添加表格 浏览:143

友情链接