Java疑问

YZZGTGX 2011-06-19 03:41:02
下面这部分代码12和14行有问题,请问各位问题出在哪呢?
public class Address {
private String name;
private String Address1;
public Address(String a,String b)
{
name=a;
Address1=b;
}
public static void output()
{
System.out.print("输出姓名:");
System.out.println(name); //第12行
System.out.print("输出E-mail地址:");
System.out.println(Address1); //第14行
}
}
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2011-06-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qybao 的回复:]
static方法不能直接调用非static方法和属性,非static的方法和属性,必须通过实例来调用

public static void output()
{
Address ad = new Address("testname", "testaddress");
System.out.print("输出姓名:");
System.out.println(ad.n……
[/Quote]

+1

因为静态方法是可以通过类名直接调用
这时类的对象可能还没有创建,所以非静态成员的变量还不存在,所以访问不了
也有可能对象已经创建了N个了,这时非静态成员变量也有N个,java不知道该访问哪一个
lianling121 2011-06-19
  • 打赏
  • 举报
回复
static方法不能直接调用非static方法和属性,非static的方法和属性,必须通过实例来调用
qybao 2011-06-19
  • 打赏
  • 举报
回复
或者把output方法改为非static

public static void output()
改成
public void output()
qybao 2011-06-19
  • 打赏
  • 举报
回复
static方法不能直接调用非static方法和属性,非static的方法和属性,必须通过实例来调用

public static void output()
{
Address ad = new Address("testname", "testaddress");
System.out.print("输出姓名:");
System.out.println(ad.name); //第12行
System.out.print("输出E-mail地址:");
System.out.println(ad.Address1); //第14行
}

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧