黑马程序员-面向对象基本知识复习(1)

本文介绍面向对象概念、类与对象定义、访问修饰符、静态关键字及Main方法特性,适用于WindowsPhone7手机开发与.NET培训,提供代码示例及实例创建流程。

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

1.面向对象的概念:
描述一个对象:

特征——属性(或字段)

每个对象 的 每个属性 都有 一个特定值

行为——方法(成员函数)

类是对象的类型(共性的概括) 例如:人类是张三这个对象的类型

对象是类的实例(个性的描述)

类不占内存,类的实例生成后才开始占用内存(一般情况)

 

2.定义类的语法:

访问修饰符 class 类名:{

成员变量(可以赋值);

方法:

}

四种访问修饰符:

Public:公共

Internal:项目内

Private:私有的,一个类中

Protected:有继承关系的父子类中

默认不加访问修饰符,类的访问权限是internal

 

Public class person{

Public String name;

Public Int age;

Public char sex;

 

Public Void sayhello(){

Console.writeline(...);

}

}

 

Person aaa

创建了一个对象的引用(定义了一个变量),但还未分配内存和初始化(类似于空的结构体指针)

Person aaa=new person();

初始化一个引用名叫aaa的对象,并调用类的 构造方法进行初始化。

没有new初始化的类实例不能赋值

 

*Static关键字:

static关键字修饰的方法,只能够访问类中的静态成员,使用static方法时不需要实例化,用类名.方法名来访问

没有static关键字修饰的方法,能够访问类中的静态和动态方法,需要实例化,用实例名.方法名来访问

static变量和方法的内存空间都只创建一次,而动态的变量和方法每个实例都有一块内存空间

一个类中,静态的方法是属于类的,动态的方法是属于特定实例的,大部分情况下动态方法和类的属性关系密切。

 

*Main方法为什么必须是静态的? Main方法必须是静态的,因为包含Main方法的类不应该也不会被实例化(程序运行既存在于内存当中,程序结束才被销毁)。

 

*一个类中是否允许声明自己的实例?

一般情况下可以:

如:

Class person{

Person aaa=new person();

}

aaa是一个引用指向内存另外一块空间

但注意不要产生嵌套循环:
class person{

Person(){

Person aaa=new person()

}

}

aaa自动调用构造方法产生另一个实例,另一个aaa又产生更多的名叫aaa的实例,编译器不检查此种错误,但最后程序被抛出堆栈溢出的异常。

 

*其他的类可以调用main方法吗?

如同下面代码:

class program{

Main{

...

program.Main();

}

}

可以调用,main方法中的代码会被再次执行,应该把含有Main方法的类作为和其他类同等地位来看待

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值