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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李凤鸣 中级黑马   /  2012-11-25 01:11  /  2041 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李凤鸣 于 2012-12-21 02:47 编辑
  1. <p>class Person3
  2. {
  3.       private String name="zhang";
  4.       int id=5;
  5.        void function()
  6.       {
  7.           System.out.println(name);
  8.        }
  9.       
  10.       
  11.       
  12. }</p><p>class Person4
  13. {
  14. Person3 person3=new Person3();
  15. <font style="background-color: silver;" color="red">person3.function();//这么写不对</font>
  16. }</p><p>public class Lianxi {
  17. public static void main(String[] args) {
  18.   Person3 person3=new Person3();
  19.   person3.function();
  20. }</p><p>}
  21. </p><p> </p>
复制代码
我想在类Person4里面访问Person3的方法function,应该怎么写呢
我写的方法在主函数可以,可在Person4类里面就不行了

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

5 个回复

正序浏览
在一个类里面调用另一个类的方法,首先在这个类里面new 另个类的对象,用对象调用另个类的方法是可以的。
回复 使用道具 举报
简单的说就是,没有对象,无法调用
回复 使用道具 举报
package com.xml.bean;
class Person3
{
private String name="zhang";
      int id=5;
      void function()
      {
          System.out.println(name);
       }
}
class Person4{
  //因为:既然想调用Person3中的function,就应该像你这么考虑;为什么会出错呢?
  //类封装属性,就是属性有所属,有标记,以便明确所属
  //但是像你这样写,这2个语句没有意义,不知道所属,把它们封装起来就可以了
//   Person3 person3=new Person3();
//   person3.function();//这么写不对,
   void  fun(){
   Person3 person3=new Person3();
   person3.function();//改为这样
  }
}

public class Lianxi {
public static void main(String[] args) {
  Person3 person3=new Person3();
  person3.function();
}
}


评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
比如你要在P3里调用P4的方法,
那你要在P3里建立一个P4的对象.
然后在P3的方法中,调用这个对象中的方法
回复 使用道具 举报
我不清楚你的Person4类定义起来有什么用,貌似类中最基本的元素就是变量和方法,你看看自己的Person3类是不是只有最基本的变量和方法,(像实例对象都应该在方法里去创建)
你直接在类里创建了一个实例对象,还用这个对象去调用它的方法,这样肯定是行不通的。
但是你在Lianxi里,有一个主函数,在函数里面创建和调用方法,那是没有任何疑问的!
若有空,我倒希望你把这个错误贴出来看看。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马