A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨康 于 2012-5-17 18:57 编辑

如题,拿下面的例子说:
定义一个Person类

请问为什么函数中不能调用方法呢?
追问下,在一个类中,成员变量就是属性,成员行为就是方法,那定义在类中的函数跟方法有什么区别于联系?

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
在java里 函数就是方法啊 亲~

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
首先明确一下:java中方法和函数是一个概念。并且你上面的代码完全可以执行,下面试测试代码:
public class MethodTest {
       
        public static void main(String[] args) {
                Person p=new Person("zhangsan",25);
                p.speak();
        }
}

class Person{
        int age;
        String name;
        Person(String name){
                this.name=name;
        }
       
       
        Person(String name,int age){
                this.name =name;
                this.age=age;
                show();
        }
       
        public void speak(){
                System.out.println("name="+this.name+"....age="+age);
                this.show();
        }
       
        public void show(){
                System.out.println(this.name);
        }
}

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
大哥,我用简单直白给你解释啊
首先方法和函数是一个概念,就是给来调用的
你的程序定义一个Person类,下面前两个是构造函数(和类名同名的函数),它是给对象初始化的
后面两个方法,就是普通的方法!
它两个最大的区别是:一个对象建立构造函数只运行一次,而一般方法可以被对象调用多次!
不知道我这么直白,你明白否,希望帮到你!
回复 使用道具 举报
呵呵 描述的是一个事物,不过是两种叫法,就好像是你在家的时候父母会喊你的乳名,在学校的时候同学会喊你大名或者是外号等。
首先看了下你的代码标识,有两处需要明确一下,第一处this关键字是做什么用的,它为什么会出现,第二处是构造函数。

那么明确一,this关键字它代表的是对象的引用,它的出现一般是为了区分类中的成员与局部的变量如果出现重名情况,可以使用this来调用。
明确二,构造函数,这个主要是用来给对象初始化的。在构造函数中可以调用本类中的成员属性或者方法,也可以给成员属性赋值,如果成员属性与构造函数中的参数出现重名,需要使用this来区分。

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 继续努力,坚持段时间,论坛会让你收获很多.

查看全部评分

回复 使用道具 举报
你Person()很明显是构造方法了,在构造方法是不能调用这个类里的普通方法的,因为构造方法是在new 对象的时候调用的,那时候还没有这个对象怎么能用this调用他的方法呢?下面的speak()是普通方法,当然可以调用其他的普通方法了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马