class Person
{
//int age = 50;//成员变量初始化和赋值一起正常。
int age;
{
age = 50;//成员变量先初始化再赋值 提示:错误: 需要<标识符>
}
public Person(int setAge)
{
int age;
age = setAge;
System.out.println("局部变量age赋值为:"+age);
//通过this调用成员中age并对局部age赋值
age = this.age;
System.out.println("成员变量age赋值为:"+age);
}
}
class Example101
{
public static void main(String[] args)
{
Person p1 = new Person(30);
}
}
ankje 发表于 2015-3-12 21:47
age = 50是执行语句,必须放在函数内、静态代码块内或构造代码块内。这是规矩! ...
朋好友 发表于 2015-3-12 21:10
在方法外类中只能定义成员变量 或者代码块里面执行程序 直接不能定义运行语句 ...
山里孩子 发表于 2015-3-12 21:57
那这个呢?
//int age = 50;//成员变量初始化和赋值一起正常。
殷俊 发表于 2015-3-12 22:02
构造函数是进行初始化的,里面不能出现执行语句;
public Person(int setAge)
{
ankje 发表于 2015-3-12 22:09
这是成员变量的自定义初始化,这么个写法也是规矩。是编译器定的规矩。规矩是java定的,不是我们定的。我 ...
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |