Java 普通方法和构造方法的区别

 我来答
怪异丶蜡笔小新
2018-01-29 · TA获得超过509个赞
知道小有建树答主
回答量:826
采纳率:46%
帮助的人:311万
展开全部

构造方法意为构造器,也就是为了程序在内存中构造当前类的对象,并提供相关get,set方法,共修改其属性,多用于bean对象,而普通方法一般用于处理不同的程序单元,比如一个类中有加、减、乘、除这4个方法,这就是普通方法,只为处理程序逻辑上的功能。

  • 构造方法:
    ①方法名和 类名相同
    ②在方法名的前面没有返回值类型的声明
    ③在方法中不能使用return语句返回一个值
    ④在创建对象时,要调用new,如:book b1=new book();
    ⑤当没有指定构造方法时,系统会自动添加无参的构造方法
    ⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法
    ⑦构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法

  • 普通方法:
    ①有返回类型
    ②方法名不能和类型相同

public class bean{
    private int a;
    private int b;
    
    public void setA(int a){
        this.a = a;
    }
    public int getA(){
        return a;
    }
    
    public void setB(int b){
        this.b = b;
    }
    public int getB(){
        return b;
    }
    public bean(){}//空的构造方法
    public bean(int a, int b){//带参构造方法
        this.a = a;
        this.b = b;
    }
}

而构造方法和普通方法都可以被重载,如下:

void selectForPage(String table, int pageNo){
    selectForPage(table, 10, pageNo)
}
void selectForPage(String table, int pageSize, int PageNo){
    ...
}
woshidaniel
2018-01-30 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:955万
展开全部
1.构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带有返回值。
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就烦条0o
2018-01-29 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
构造方法:
①方法名和 类名相同
②在方法名的前面没有返回值类型的声明
③在方法中不能使用return语句返回一个值
④在创建对象时,要调用new,如:book b1=new book();
⑤当没有指定构造方法时,系统会自动添加无参的构造方法
⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法
⑦构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
无参的构造方法
class person{
public person(){
System.out.println("无参的构造方法被调用了。。。");
}
}
class Ex11{
public static void main(String[] args){
person p=new person();
}
}
有参的构造方法(目的就是为了给对象实例变量赋值)
class person{
int age;
public person(int a){
age=a;
}
public void speak(){
System.out.println("I am "+age+" years old");
}
}
class Ex11{
public static void main(String[] args){
person p=new person();
p.speak();
}
}
普通方法有返回类型,方法名小写,不能和类名相同,如:void XX(){}  普通方法:代表对象可以干什么
构造方法是初始化对象的重要途径,如:student s=new student(); s这个实例,是通过构造方法初始化的  构造方法:可创建一个对象,并可初始化对象的值
构造方法有对类属性得初始化的功能,如:public people(String name){this name=name;}或public people(){name="zangsan";age=11;} 完成了people类属性name或age的初始化
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式