黑马程序员技术交流社区

标题: 面向对象 [打印本页]

作者: 江汉    时间: 2016-4-15 22:02
标题: 面向对象
在面向对象中,构造方法和成员方法各自有什么作用.用简单易懂而且大家都容易记住的方式回答.希望技术大牛指点!!

作者: aweilovemusic    时间: 2016-4-15 22:07
简单地说:
构造方法:没有返回值(连void也没有),与类名同名
成员方法:必须有返回值,空返回就是void

作者: 兵蜂    时间: 2016-4-15 22:32
不错!!!!加油
作者: psuugdufnm    时间: 2016-4-15 23:15
构造方法没有返回值,方法名和类名一样,其作用是用于在NEW一个类的时候,会总先调用这个类的构造方法,构造方法内部可以作一些变量的初始化或在创建这个类时必须调用的一些方法和运算,他是不用特意去调用的方法,会随着类的创建而自动去调用
例如:我们需要做一个i+j的运算,在这期间我们用到了构造函数,让其改变了i和j的初始化值

public class Text {
int i = 0;
int j = 0;
/**
  * Text 的构造函数 将i和J的值重新初始化赋值
  */
public Text() {
  i = 1;
  j = 2;
};

public static void main(String[] args) {
  Text s = new Text();
                  //此时当你NEW完Text()时程序已经自动执行了Text的构造 函数i和j的值已经是1和2
  System.out.println(s.i + s.j);
}

}
作者: 范康    时间: 2016-4-15 23:17
这么说吧:
构造方法:没有返回值(连void也没有),与类名同名
成员方法:必须有返回值,空返回就是void
作者: lennycxy    时间: 2016-4-15 23:51
构造方法是用来初始化局部变量的,成员方法是实现具体行为的
作者: xiaochenu    时间: 2016-4-16 08:45
构造方法的话就是在你创建对象的时候就用了,比如Student s=new Student();这个括号里不加参数就是默认用空参构造方法,加参数的话就是用有参的构造方法,成员方法的话就需要对象名点成员方法调用了.
作者: 15614014298    时间: 2016-4-16 13:23
构造方法的作用是对象一建立对象就具备某些特征,而成员方法大都是行为特征。就好比人一出生就有嘴,但不一定就可以吃饭(行为特征)
作者: New灬狼    时间: 2016-4-16 21:36
最简单的:构造方法不用你去调用,在new对象的时候系统调用;
作者: New灬狼    时间: 2016-4-16 21:37
成员方法必须手动去调用,要求有返回值类型,如果没有,需要写void
作者: AAAheilong    时间: 2016-4-16 21:52
构造方法就是用来给创建的对象进行初始化
成员方法就是对象具有的行为,可以调用
作者: Vision.斌道    时间: 2016-4-16 22:03
1.构造方法不能被子类继承,但可以被子类调用,可以重载(同一个类)。
2.方法名与类名相同
3.不能声明返回类型
4.不能被static、final、synchronized、abstarct修饰,不能有return语句返回值
5.有3种构造方法,分别为隐式无惨(默认构造方法)、显示无参、显示有参构造方法。
6.如果在类中自己编写了一个构造方法,编译器就不会提供那个默认无参构造方法,如果还想调用那个无参构造方法创建实例,就必须明确添加这个默认构造方法。
作者: LiuLiu006    时间: 2016-4-16 23:36
333333333333333333
作者: 小K哥    时间: 2016-4-17 15:18
先说构造方法:当程序用类创建对象时需要使用它。它没有类型,并且名字和类名一样,而且如果你没有自己定义一个,系统会给你一个默认的无参构造方法。如果自己定义一个带参的构造,还可以初始化数据。
成员方法:分为两种,一种是实例方法,一种是静态方法。实例方法必须要先用构造方法创建对象后,用对象调用。静态方法可以直接通过类名调用。
这类中方法都可以初始化数据。成员方法比较容易维护,修改数据。
作者: Q灬先生    时间: 2016-4-17 16:08
楼上正解
作者: 回士贤    时间: 2016-4-17 18:39
构造方法 是给成员变量赋值       成员方法是具体的行为
作者: Mikasan    时间: 2016-4-17 19:41
构造方法作用:
作者: Mikasan    时间: 2016-4-17 19:43
构造方法:在类中创建对象,对类中的成员变量进行数据初始化,若构造带参,可以通过带参构造创建对象,并给成员变量赋值。
作者: 丶半度微凉    时间: 2016-4-17 20:37
构造方法就是给对象初始化数据用的,或者说是用来给你创建的对象赋值,使你开始使用对象的时候,对象属性就有值了,成员方法是完成某些功能用的
作者: west2179    时间: 2016-4-17 21:19
从设计者的角度来讲
你让你舍友给你买午饭,你需要做连个前提,第一个,把午饭钱给他.第二个,告诉他,你要吃啥.
在你新建一个类对象的时候.你要思考你完成这个事情,你需要用到什么东西.
然后通过构造方法把你需要的东西丢进去.

成员方法则是该死的甲方
你让你舍友买午饭,可是你还有很多要求.比如说,你要吃门口沙县小吃5块钱的版面
然后还要顺带去隔壁超市买3块钱的可乐
这个时候,就是成员方法.成员方法是实现甲方那该死的具体的功能的.
作者: guojiedong    时间: 2016-4-17 23:08
构造方法:没有返回值(连void也没有),与类名同名 成员方法:必须有返回值,空返回就是void
作者: 天晴丶    时间: 2016-4-18 22:47
楼上回复的好6666
作者: guozhicheng    时间: 2016-4-18 23:26
我也是刚学基础.
在面想对象这一块也有疑问.
我觉得构造方法就是给成员变量进行初始化的,也就是赋值, 因为在创建对象的时候就会调用空参构造或是有参构造
这时候就可以给成员变量赋值.
成员方法是对象的一个功能.也就是说它能干什么.
作者: liudh1    时间: 2016-4-18 23:44
构造方法:分为有参构造和无参构造:格式:public 类名(),构造方法是用来创建对象,调用成员方法和成员变量的,
作者: wufengqiao    时间: 2016-4-19 00:25
构造方法只能在创建对象是调用, 其作用是给成员变量初始化赋值,
成员方法是用来实现特定的功能.
作者: xiaoxiqq    时间: 2016-4-19 02:30
首先。构造方法是在创建(new)对象的时候调用的。也就是产生这个对象会发生什么。一般会把这个对象的成员变量当成参数放在里面做初始化的作用。成员方法是这个类特有的方法,也就是只能通过这个类的  对象名.方法名  才能调用
作者: 张狮子    时间: 2016-4-19 22:43
构造方法用于初始化和建立对象,不能被调用。
作者: 东方乔恩    时间: 2016-4-19 22:45
构造方法就是对你创建的对象进行成员变量进行赋值,
成员方法就是该对象的一个行为,
那联盟做个比喻:构造方法就是当你进入游戏一级的时候在家里买装备填充你的物品栏,就像构造方法.只有当你这个人物对象创建时才会执行一次,而,成员方法在你这个对象的生命周期内都可调用,也就是说知道游戏结束你都可以调用,比如每次回家买装备,或是每个技能都可以看做事成员方法
作者: 小红花    时间: 2016-4-20 11:35
构造方法最主要的作用就是在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化;成员方法:你可以这样理解比如说拉登派遣他的手下去炸白宫,然后他的手下就把炸没炸成功的结果返回给拉登,这里的拉登就相当于我们程序员,成员方法就相当于拉登的手下,即是:程序员通过调用成员方法,然后成员方法返回结果。
作者: sjw12025    时间: 2016-4-21 13:07
构造方法:1,方法名与类名相同,2,在方法名前面没有返回值类型的声明3,在方法中不能使用return语句返回的一个值.
成员方法:必须有返回值,空返回就是void.
作者: _eight_brother    时间: 2016-4-21 16:44
构造方法的作用
    1.创建对象
    2.给属性赋值
普通方法的作用
    跟据传入的参数,完成指定的操作,并返回相应的结果

首先用于创建对象的只能通过构造方法,普通方法完成不了
其次给属性赋值的功能两者均可以实现
列子:
  1. public class Person {
  2.         private String name;
  3.         //无参构造
  4.         public Person(){}
  5.         //通过有参构造赋值
  6.         public Person(String name){
  7.                 this.name=name;
  8.         }
  9.         //通过普通方法赋值
  10.         public void Person(String name){
  11.                 this.name=name;
  12.         }
  13.        
  14.         public static void main(String[] args) {
  15.                 Person p1=new Person("tom");
  16.                 System.out.println(p1.name);
  17.                
  18.                 Person p2=new Person();
  19.                 p2.Person("jack");
  20.                 System.out.println(p2.name);
  21.         }
  22. }
复制代码

上面代码中将构造方法名和普通方法名取的一样,这样就印证了:构造方法没有返回类型,而普通方法必须有返回类型的定理。
作者: yuzhiliang    时间: 2016-4-21 22:22
构造函数就是一个标准的JavaBean
1. 构造方法: 类名(参数列表){}
一般写在成员变量的下面,没有返回类型,没有返回值是格式。
作用是:通过关键字new,创建类的一个实例,并初始化对象(比如初始化成员变量,就是在这个对象的准备工作)
调用: 类名 对象名 = new 构造方法(参数列表);
2. 成员方法: 返回类型 方法名(参数类表){}
是从现实中抽象出来的类的行为,也就是一个方法
构造函数就是一个标准的JavaBean
1. 构造方法: 类名(参数列表){}
一般写在成员变量的下面,没有返回类型,没有返回值是格式。
作用是:通过关键字new,创建类的一个实例,并初始化对象(比如初始化成员变量,就是在这个对象的准备工作)
调用: 类名 对象名 = new 构造方法(参数列表);
2. 成员方法: 返回类型 方法名(参数类表){}
是从现实中抽象出来的类的行为,也就是一个方法
作用:当需要时,执行某种用途或功能,可以返回一个值,或对象。
调用: 对象名.方法名(参数列表);调用: 对象名.方法名(参数列表);
作者: 逆水z行舟    时间: 2016-4-22 10:12
创建对象 方法调用
作者: yuanmeng    时间: 2016-4-22 13:25
江汉 发表于 2016-4-15 22:02
在面向对象中,构造方法和成员方法各自有什么作用.用简单易懂而且大家都容易记住的方式回答.希望技术大牛指 ...

构造方法:public 类名     方便调用。
成员方法:要有返回值类型。
作者: sun2582589    时间: 2016-4-22 22:16
构造方法的方法名是类名,是跟类一起加载的,而成员方法就是类中你自己写的那些普通方法
作者: sun2582589    时间: 2016-4-22 22:17
构造方法的方法名是类名,是跟类一起加载的,而成员方法就是类中你自己写的那些普通方法
作者: jing201314z    时间: 2016-4-22 23:20
构造简单来说 创对象时用,里面可以包含代码用来初始化
成员方法,就自己写的,用的时候就用,不用就放那
我是这么理解的
作者: yuanmeng    时间: 2016-4-23 13:28
江汉 发表于 2016-4-15 22:02
在面向对象中,构造方法和成员方法各自有什么作用.用简单易懂而且大家都容易记住的方式回答.希望技术大牛指 ...

构造方法没有返回值,
成员方法有返回值
作者: sfz6012    时间: 2016-4-24 21:39
我们的构造方法是在new对象的时候调用, 构造方法解决对象的属性(名字,年龄之类的)~其他方法可以做事情
作者: 泪雨星空    时间: 2016-4-24 22:19
构造方法没有返回值也没有返回值类型,构造方法会随着对象的创建而执行;
作者: 奉建兵    时间: 2016-4-24 22:20
构造方法是用来创建对象的,在 new 的时候调用;成员方法是对象来调用
作者: 泪雨星空    时间: 2016-4-24 22:21
非私有的成员方法需要通过调用才会被执行;
作者: 奉建兵    时间: 2016-4-24 22:21
构造方法是用来创建对象的,在 new 的时候调用;成员方法是对象来调用
作者: 毛小猪    时间: 2016-4-26 21:32
来看看,学习学习
作者: 张狮子    时间: 2016-4-26 22:35
构造方法是用来给变量初始化的,也可以私有,不让创立对象。成员方法时用来定义功能,提升代码的复用性
作者: 年年    时间: 2016-4-27 23:39
这个自己去翻书吧
作者: 向前_KCmhn    时间: 2016-5-14 23:29
构造方法
就是把把成员变量初始化的,然后给成员变量赋值的。比如,人的成员变量为name,age。给一个对象的name,age赋值,就是使用构造方法
成员方法
就是这个类里面所特有的功能,比如人会吃饭,这就是人的功能,把这个功能表示出来就是使用成员方法
作者: 向前_KCmhn    时间: 2016-5-14 23:31
构造方法
就是把把成员变量初始化的,然后给成员变量赋值的。比如,人的成员变量为name,age。给一个对象的name,age赋值,就是使用构造方法
成员方法
就是这个类里面所特有的功能,比如人会吃饭,这就是人的功能,把这个功能表示出来就是使用成员方法
作者: dreamhunter    时间: 2016-6-2 23:03
构造方法是初始化一个类的对象时候调用的,它没有返回值,而且名字必须与类的名字一样,而成员函数是由类对象主动调用的,使用点操作符,它有返回值,构造函数只有在建立对象时由系统调用的,其他任何时候你都别指望用他。按照我的理解,构造方法是初始化的一部分,是这个类的属性之一,而成员方法则是这个类可以进行的行动。
作者: sangwentao    时间: 2016-6-3 20:34
lennycxy 发表于 2016-4-15 23:51
构造方法是用来初始化局部变量的,成员方法是实现具体行为的

有道理。
作者: TheLittlePrince    时间: 2016-6-17 22:35
构造方法没有返回值连void都没有,方法名和类名相同,构造方法有无参构造和有参构造,如果类中没有无参构造,系统会默认给一个无参构造,当创建了一个有参构造后系统将不会在创建一个无参构造,如果后面还想用无参构造则将会报出错误,所以在构造方法的时候建议自己手动创建一个无参构造,如在继承和抽象类,接口中子类继承父类,子类中会默认继承父类的无参构造!成员方法是成员的行为
作者: lizihanglove    时间: 2016-6-18 00:22
构造方法实现对象的初始化,成员方法实现的是该类需要完成的功能。
作者: zfr930102    时间: 2016-6-23 23:08
构造方法就是用来给当前类的属性赋值的 而成员方法则是你这个类可以执行的一些功能 举个简单的例子来说面向对象中的类就好比是一个人这个集合 那么在这个集合里面人的姓名 年龄 性别 则是人固定的属性 构造方法就是用来给这些属性赋初值的 走跳吃饭等动作则是成员方法
作者: wrui    时间: 2016-7-8 22:45
构造方法的格式是:没有返回值(连void也没有),与类名同名      作用:就是构造一个该类的对象,
作者: wrui    时间: 2016-7-8 22:46
构造方法的格式是:没有返回值(连void也没有),与类名同名      作用:就是构造一个该类的对象。成员方法格式:必须有返回值,空返回就是void,成员方法就是一个类的普通方法,
作者: linguoqun    时间: 2016-7-25 23:31
楼主,你好!
根据你提出的问题,给出以下回答:
首先,先弄清楚构造方法与成员方法的概念。
构造方法是与类名相同,没有返回值类型的方法。
举例:
class Person{
         public Person(){}
         public Person(int age){}
        public  Person(int age,String name){}
}
上面就是一个简单的构造方法的例子。可以看出,构造方法可以有多个,那么我们调用的时候怎么区分呢?聪明的楼主可能已经意识到这几个构造方法有个不同的地方:就是参数列表不同,参数列表可以没有参数,可以有一个参数,也可以有多个参数。调用构造方法时,只需传入对应的参数的个数,即可调用对应的构造方法。
楼主这一点明白了没?
现在我们来看成员方法,成员方法的概念是:对象所具有行为,比如说,吃饭的方法:void eat(){}、跑步的方法:void run(){}、飞的方法:void fly(){}等等,这些方法有返回值,与类名无关。只要是对象所具备的行为能力,就可以定义成它的成员方法。
这一点也应该不难理解吧?
纯手打的。有不懂的可以再提出来。满意请采纳,谢谢!
作者: vic_miao    时间: 2016-9-3 00:34
构造方法是用来初始化对象的,用于构建这个类的对象,比如Student s = new Student();这行代码就使用Student类的构造方法来构建Student对象。
而成员方法是类中的一个成员,是为了完成某一个功能而定义的, 方法只有被调用才执行
作者: Fate_stay    时间: 2016-9-9 01:06
简单即: 构造方法,只在创建对象时使用(即:初始化时赋值),成员方法,需要调用时可以随时调用~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2