当前位置:编程学习 > C#/ASP.NET >>

关于main方法的疑问

class initU
{
protected int a;
public static void main()
{
initU app=new initU();
console.WrileLine("a={0}",app.a);
}
}
--------------------------------------------------------------
main方法是从属于类initU中的一个方法,却可以new一个initU类型的对象,好像儿子做了父亲的事,不好理解?
新手提问。 --------------------编程问答-------------------- 首先 Main M要大些 再次 这是程序的入口点 不是方法 --------------------编程问答-------------------- 还是没有回答 --------------------编程问答-------------------- 不要把main想的那么特别。首先initU.Main是一个方法,只要是能创建的对象,它都能创建。其次,其他方法可以调用initU.Main,因为它是一个静态方法,并不只是一个程序的入口。是不是程序入口是由编译器帮着决定的。至于父子关系,是因为你一定要这么去想,在程序里面有的时候很难分清楚所谓的父子关系。设想,A创建了B,B就不能调用A提供的方法了吗? --------------------编程问答-------------------- 首先那是一个静态方法,
其次里面的第一句是调用的一个实例构造函数,因为没有显式定义构造函数,所有使用的是默认的,这在其他地方也适用,如下代码也可以
public class class1
{
public static create()
{
return new class1();
}

//或者
//public|private class1(object arg){...}
//
//public static create(object arg)
//{
//此时将不存在默认构造函数
//return new class1(arg);
//}

}

在标准的类中,有时我们也经常看到有些类型无法通过new来构造其实例,但其类型却提供了相应的create,open,fromfile,fromstream等静态方法,我想大多也是这个原因! --------------------编程问答-------------------- 首先那是一个静态方法,
... --------------------编程问答-------------------- 只要构造函数可见.... --------------------编程问答-------------------- 多学,多问,多看 --------------------编程问答-------------------- 这样做毫无意义,a本身即是实例成员,直接访问就可以了。
不知道你从哪里看到这样的代码。 --------------------编程问答--------------------
引用 8 楼 truelove12 的回复:
这样做毫无意义,a本身即是实例成员,直接访问就可以了。
不知道你从哪里看到这样的代码。

那个a是实例成员,是不能直接访问的!
另外上面的代码中两个静态方法那忘了加返回类型了,就是在public static 后再加个class1,成天晕晕的 --------------------编程问答--------------------
引用 9 楼 jbo126 的回复:
引用 8 楼 truelove12 的回复:
这样做毫无意义,a本身即是实例成员,直接访问就可以了。
不知道你从哪里看到这样的代码。

那个a是实例成员,是不能直接访问的!
另外上面的代码中两个静态方法那忘了加返回类型了,就是在public static 后再加个class1,成天晕晕的

. --------------------编程问答--------------------    任何类内部的方法都能调用自己类内部的其它方法,这点毫无疑问。但是这是在没有static限定的情况下或者都是static修饰的时候,可以随便调,直接写方法名就行。
   不是static的方法在调同一个类内部的static方法也是直接写方法名就可以了。
   但是static的方法调用类内部不是static的方法的时候必须先创建类的对象,然后通过对象名.方法名(参数列表)的方式去调用该方法。
   至于为什么要这样,要涉及到static修饰符的作用,或者编译原理的一些知识。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,