类型被分为值类型和引用类型两种:
值类型只需要一段单独的内存,用来存储实际的数据,存在栈中。
引用类型第一段存储实际的数据,在堆中;第二段是一个引用,指向数据在堆中的存放位置(引用存在栈中)。
对于引用类型的任何对象,他所有的数据成员都存放在堆里,无论他们是值类型还是引用类型。
访问修饰符
private int a ;// 私有成员只能从声明它的类的内部访问,其他的类不能看见或访问他们。(默认的访问级别)
方法默认也是private
public int b; //公有成员可以被程序中其他对象访问
var total =15;
var mec=new MyClass(); //var表示任何可以从初始化语句右边推断出的类型。
var 只能用于本地变量
只能在变量声明中包含初始化时使用
一旦编译器推断出其类型,他就固定且不可改变;
class Talker
{
public static int Bla(String thingToSay,int NumberOfTimes)
{
string finalString="";
调用这个方法时并没有创建Talker的一个新实例,而只是做了以下调用:
Talker.Bla ("hello hello hello”,5);
这就是static方法。如果把static关键字从方法声明中去掉,就必须创建Talker的一个实例才能调用这个方法。除了这个区别外,静态方法与对象方法几乎一样。
类也可以标记为static,这样这个类的所有方法也都必须是静态的,不可以把非静态的方法添加到静态类中。