我是java初学者,写了段小程序,构造方法取年龄值,取得的结果却是0 , 不知道是为什么,
请前辈指教,代码如下:package aa;public class aa
{
public static void main(String[] ages)
{
bb age1 = new bb();
int age = age1.getAge();
//显示年龄
System.out.println(age);
}}class bb
{
public bb()
{
String name = "funan";
int age = 25;
}
//方法1: 取名字
public String getName()
{
return(name);
}
//方法2: 取年龄
public int getAge(){
return(age);
}
//字段
private String name;
private int age;
}
------
运算结果是:0 , 不正确,错哪里了??
请前辈指教,代码如下:package aa;public class aa
{
public static void main(String[] ages)
{
bb age1 = new bb();
int age = age1.getAge();
//显示年龄
System.out.println(age);
}}class bb
{
public bb()
{
String name = "funan";
int age = 25;
}
//方法1: 取名字
public String getName()
{
return(name);
}
//方法2: 取年龄
public int getAge(){
return(age);
}
//字段
private String name;
private int age;
}
------
运算结果是:0 , 不正确,错哪里了??
{
String name = "funan";
int age = 25; //问题在这里,你声明了一个局部变量,改成age=25;就可以了
}
{
String name = "funan"; //设定的为局部变量的值
int age = 25; //设定的为局部变量的值,只在构造函数有效 }
private String name; 默认为null
private int age; 默认为0public int getAge(){
return(age); 返回的为private int age;
}
{
name = "funan";
age = 25;}
这样就ok!!