在JAVA变程中,什么是构造方法,它能用public修饰吗

如题所述

构造方法是一种特殊的方法,与一般的方法不同是: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。 在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: (1)构造方法名与类名相同. (2)构造方法不返回任何值,也没有返回类型. (3)每个类可以有零个或多个构造方法. (4)构造方法在创建对象时自动执行,一般不能显式地直接调用.

至于如果你做个private类而里面是public方法,这样设计没人拦着你,你的类存在是为了什么要先搞清楚,如果你做个封装不想让别人看到类内部结构可以全私有,如果你要子类能看到就用protected,如果随便无所谓就用public
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-10
构造方法顾名思义,就是构造一个对象(或称之为实例、实体)的方法。里面描述了如何去构造一个对象。
我用一个例子来说明构造方法
我写一个公共类——人
包含属性——姓名、年龄
public class Person{
private String name;
private int age;
public Person(String itsName,int itsAge){ //这里我写了一个构造方法,说明如何去创建一个人
this.name = itsName;
this.age = itsAge;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void run(){
System.out.println(this.name+"在跑!");
}
}

public CreatePersonMain{
public static main(String[] args){
Person me = new Person("梦蝶莎",23); //me是用构造方法创建的一个具体对象
String myName = me.getName();//用上面写好的方法可以获取对象的属性
int myAge = me.getAge();
System.out.println("我的名字叫"+myName+",年龄"+myAge+"岁。");
me.run();//没有返回值的方法调用
}

可以想成 我们写的类是一个抽象的类别——人类
使用构造方法我们可以创建具体的一个人——梦蝶莎
通过类中的方法可以返回对象的属性或对象所可以完成特定功能(动作)。

一般情况下 构造方法都使用public 声明,并且在不写构造方法时,系统会隐性的添加一个空参数的构造方法。例如,如果我没有写public Person(String itsName,int itsAge){//略...},则系统会隐性添加public Person(){super();}方法
第2个回答  2010-12-10
类创建对象时需要构造方法,一边给类所创建的一个对象一个合理的初始状态。他的名字必须与他所在类的名字完全相同。当然可以用public修饰,构造方法的类型默认为所在类的类型(如public类的构造方法默认为public的)。
class A{
intx;
A(){ //该类的一个构造方法,与类名(A)同名
}
........
}
相似回答