| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2699 人关注过本帖
标题:成员方法与构造方法疑问
只看楼主 加入收藏
Dsky
Rank: 2
来 自:陕西
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-10-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
成员方法与构造方法疑问
public class Test{
public Test(){} //构造函数
public Test(int i)(){} //构造函数
public void test(){}//成员方法
public int test2(){}//成员方法!
}

public static void main(string [] args){
  Test t1 = new Test();//调用构造方法
  Test t2 = new Test(5);//调用构造方法
  ********************;//调用成员方法(这个怎么调。。。)
}
搜索更多相关主题的帖子: public 
2016-06-16 10:38
Dsky
Rank: 2
来 自:陕西
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-10-7
收藏
得分:0 
新手自学,请大神解惑。。。
2016-06-16 10:39
格格不入fl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:56
专家分:192
注 册:2016-3-23
收藏
得分:5 
调用成员方法    t1.test   t1.test2   t2.test  t2.test2
2016-06-16 12:32
sadhfjksba
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2016-6-16
收藏
得分:5 
以下是引用格格不入fl在2016-6-16 12:32:19的发言:

调用成员方法    t1.test   t1.test2   t2.test  t2.test2

对的
2016-06-16 12:43
zzjvslove
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:46
专家分:197
注 册:2016-5-23
收藏
得分:5 
应该是  
如果调用test的话,则如下
t1.test() ;
t2.test() ;
如果调用test2的话,则如下
t1.test2() ;
t2.test2() ;

括号要加上、如果没有括号调用的是属性。
但是没有此属性,则会报错。

调用成员方法是、对象.方法
2016-06-16 14:53
Dsky
Rank: 2
来 自:陕西
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-10-7
收藏
得分:0 
回复 5楼 zzjvslove
如果我没有调用构造方法,也就是没有t1/t2,那么我还要调用test()和test2(),是要写成“类名.”也就是Test.test()/Test.test2()吗???还是说我的test与test2可以同时有两种调用方式?“引用.”“和类名.”???
2016-06-16 17:44
zzjvslove
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:46
专家分:197
注 册:2016-5-23
收藏
得分:0 
回复 5楼 zzjvslove
正如你所说,如果你想要通过  类名.方法  的形式调用方法的时候、你必须把public void test() 通过static关键字把成员方法变成静态的public static void test()
此时就可以直接通过  类名.方法  的形式调用 。
public void test2() 如果要想被类名Test直接调用的话,也同样要静态化。同上方式


你例子中的是通过创建的对象来调用方法。创建对象是在方法(如test())先写了之后才new出来的、New的对象可以调用在创建本身时之前先有的方法;

如果你的方法没有静态化,通俗意思就是说 先定义了Test类、然后在类中写方法。也就是说先有类再有方法、此时类只能调用比类先创建出来的成员才可以、如果加一个static就把方法先以类存在、就可以通过类的方法调用
2016-06-16 21:35
TsugumiYuu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:32
专家分:126
注 册:2016-5-14
收藏
得分:5 
楼上的解释其实都很全面了,不过新手可能还是不是很好理解,我换一个思路给你讲下这道题

构造类的步骤——我们用实际例子距离
public class Test{                                 ——假设我们是上帝,构造了人类这个类
public Test(){} //构造函数                         ——这是写人类的构造方法,因为括号里没有给参数,又叫做无参构造,我们可以叫他屌丝=。=
public Test(int i)(){} //构造函数                  ——这也是一个人类的构造方法,给了参数,是有参构造,我们叫他富二代=V=
public void test(){}//成员方法                     ——人类的方法1:吃饭
public int test2(){}//成员方法!                   ——人类的方法2:上厕所
}

好了我们现在进入主程序
public static void main(string [] args){
  Test t1 = new Test();//调用构造方法                    ——我们实体化了一个人类屌丝叫t1
  Test t2 = new Test(5);//调用构造方法                   ——实体化了一个富二代叫做t2
  ********************};//调用成员方法(这个怎么调。。。)——那么我们调用成员方法,就相当于问你:屌丝(t1)和富二代(t2)是不是都可以吃饭都可以上厕所,所以他们都可以
                                                              调用吃饭和上厕所的方法,彼此也不会冲突,就是t1.test(),t1.test2()和t2.test()和52.test2()了
2016-06-17 04:26
Dsky
Rank: 2
来 自:陕西
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-10-7
收藏
得分:0 
回复 7楼 zzjvslove
3Q,这东西搞得有点晕,清晰了好多,我再屡屡。。。
2016-06-17 16:17
Dsky
Rank: 2
来 自:陕西
等 级:论坛游民
帖 子:6
专家分:20
注 册:2010-10-7
收藏
得分:0 
回复 8楼 TsugumiYuu
谢谢大家,我再屡屡,,,
2016-06-17 16:19
快速回复:成员方法与构造方法疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017492 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved