java - 如何传递另一个类的实例方法
高洛峰
高洛峰 2017-04-17 17:22:27
[Java讨论组]
class A{
  public  String name;
  public  int age;

  public A(String name, int age) {
    this.name = name;
    this.age = age;
  }
  public String getString(){
    A a = new A(name,age);
    return a.name+a.age;
  }
}

class B{
 public String getOut(){
   A a = new A();//A没有无参数构造方法,A也没有get和Set方法 A的全部代码就是这样子了,请问B如何获得A的实例域
   return a.name+a.age;
 }
}

感觉这个好蛋疼啊  是不是无解啊?


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
黄舟

首先,不得不说这个A的代码写的有问题。

public String getString(){
    A a = new A(name,age); // 这句实属废话,多占内存还没有效率。
    return a.name+a.age;
}

其次,你的问题我没看懂,如果已经有了A的实例,直接调用a.getString()就好了啊,如果没有A的实例,你就需要用new A(name, age)创建一个,不过既然你都知道了name和age,还用得着创建A的实例吗?

巴扎黑

不知道你想干啥,但是毋庸置疑的是你的A绝对有问题。还是说说你的想法再来看各个用程序来描述吧。

nameage 都是 public 的,倒不需要 getter 和 setter。但是 getString() 的实现就不对了。这里为什么需要产生一个新的 A 对象?直接 return this.name + this.age 就好啊。

另外,通常情况下,你应该重载 toString() 方法。

天蓬老师

what are you want to do?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号