为什么在类里边可以只写属性,但是不写字段呢?比如定义一个类
class Person
{
//private int age; 为什么这句话可以不写,直接写属性??
public int Age{get;set;}
}
属性不是不存储值吗?那我要是在Main函数中这样写:
Person p=new Person();
p.Age=20;//这里面的20存储在哪了??作者: 李阳Leo 时间: 2012-9-22 19:05
你的Age中,set方法并没有调用age,当然可以不写
p.Age = 20; 存到了 Age 的 value 中作者: 王贵朝 时间: 2012-9-22 21:24
为什么在类里边可以只写属性,但是不写字段呢?比如定义一个类
class Person
{
//private int age; 为什么这句话可以不写,直接写属性??//定义成员变量的时候系统会分配一个默认类型值,可以不写
public int Age{get;set;}
}
属性不是不存储值吗?那我要是在Main函数中这样写:
Person p=new Person();
p.Age=20;//这里面的20存储在哪了??
1) 局部变量
$范围:定义在一个方法内部的变量;
$作用域:其作用域为所在代码块,也称为临时变量、栈变量;
$生命周期:从创建开始到方法(函数)结束为止;
$特点:在使用之前必须要对其初始化;
$一律存放在栈中。
2) 实例变量
$范围:定义在一个类内部但不在方法中的变量;
$作用域:其作用域为整个类,能够被操作的范围是类的内部;
$生命周期:对象被创建的时候开始,对象被垃圾回收的时间结束;
$特点:如未定义其初值,系统会自动对实例变量进行默认初始化(默认值为null),使用之前必须创建类的实例;
$每一个对象的实例变量的值是相互独立的;
$一律存放在堆中。