`
javasogo
  • 浏览: 1817330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

为什么main()要申明为static

 
阅读更多

1.为什么main()要申明为static
2.申明了static为什么还能引用非static成员和非static的函数?

解答:

1.首先Java程序都是以类的形式编写的,类只是程序的蓝图,在使用之前需要构造函数. 只有static声明的成员在程序载入时就被初时化,不需构造类. main是程序的入口,是需要直接载入运行的.
2. static申明的后,不能直接引用非static成员.需要在使用前构造.

例1:
ret1 需要在使用前构造. new Rectangle2()
Rectangle2 ret1=new Rectangle2();

分享到:
评论

相关推荐

    基本通用makefile模板

    基本通用makefile模板, 目录结构 ./src ./include ./lib。 makefile和*.c文件放在 ./src 目录, 头文件放在 ./include目录, 库文件放在 ./lib目录。... my_main_c 替换为你需要编译的主c文件名,基本都可以编译成功。

    C语言FAQ 常见问题列表

    o 7.4 那么为什么作为函数形参的数组和指针申明可以互换呢 ? o 7.5 如果你不能给它赋值, 那么数组如何能成为左值呢 ? o 7.6 现实地讲, 数组和指针地区别是什么 ? o 7.7 有人跟我讲, 数组不过是常指针。 o ...

    XStream和Xpp3实现对象到XML的互转参考文档

    public static void main(String[] args) { Test test1 = new Test(); } public static void fromXml(String sFileName) { XStream xstream = new XStream(); xstream.alias("person", Person.class); try ...

    Java面试题含答案.doc

    为什么? 答案:可以,但需要使用Unicode编码。 8. 用最有效率的方法算出 2 乘以 8 等於几? 答案:使用左移操作符,2。 九、变量和对象 10. 使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不...

    C#中const 和 readonly 修饰符的用法详解

    1. 只有C#内置类型(int,double,long等)可以声明为const;结果、类和数组不能声明为const。 2. readonly 是在字段上使用的...static void Main(string[] args) { Console.WriteLine(Half a year have {0} Moths, Cal

    win32 API 调用

    public static void Main() { // 调用MessageBox函数 MsgBox(IntPtr.Zero, "Hello, World!", "Title", 0); } } ``` 在这个示例中,我们首先导入了必要的命名空间,并定义了一个名为`Win32`的公共类。在该类中...

    java各大公司面试题总结

    public static void main(String[] args) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } ``` - **解析**: 在实例方法`aMethod()`中试图声明静态变量`i`,...

    2022年C语言面试题大汇总华为.doc

    constructor不能申明为虚函数。 8. 冒泡排序算法 冒泡排序算法的时间复杂度是O(n^2)。 9. float类型比较 float类型的比较需要注意精度问题,可以使用if(x>0.000001&&x)来比较。 10. Internet协议 Internet采用...

    理解C# String类型:特殊的引用类型

    static void Main() { string str = "123";//申明一个字符串 StrChange(str);//调用方法 Console.WriteLine(str);//输出字符串 } } ``` 输出的结果是 "123" 。这是因为 String 类型是特殊的引用类型,它的...

    linux内核 0.11版本源码 带中文注释

    定义了各种符号常数和类型,并申明了各种函数。 // 如果定义了__LIBRARY__,则还包括系统调用号和内嵌汇编代码_syscall0()等。 #include <time.h> // 时间类型头文件。其中最主要定义了tm 结构和一些有关时间的函数...

    Java面试宝典

    public static void main(String[] args) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } ``` - **正确答案**: D (编译失败) - **解析**: 该代码中存在...

    springmybatis

    public static void main(String[] args) { SqlSession session = sqlSessionFactory.openSession(); try { User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1...

    你必须知道的495个C语言问题(PDF)

    2.2 为什么struct x f . . . g; x thestruct; 不对? . . . . . . . . . . . . . 7 2.3 一个结构可以包含指向自己的指针吗? . . . . . . . . . . . . . . . 7 2.4 在C 语言中实现抽象数据类型什么方法最好? . . . ....

    Java transient关键字原理解析

    public static void main(String[] args) throws Exception { NameStore nameStore = new NameStore("Steve", "Middle","Jobs"); ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("name...

    myeclipse6.5注册代码

    主类名为 `Crack`,其中定义了一个 `main` 方法作为程序入口。在这个方法中,指定了用户的 ID 和许可证号码,并调用了 `getSerial` 方法来生成注册码。 ##### 3. 生成注册码的核心方法 ```java public static ...

    有关引用类型的总结.pdf

    #### 一、什么是“引用”? 引用在C++中是一种特殊的数据类型,它可以被视为目标变量的“别名”(alias)。这意味着当我们通过引用访问一个变量时,实际上就是在直接操作那个变量。因此,任何通过引用所做的修改...

    C#类的封装与使用示例

    static void Main(string[] args) { Point point1 = new Point(3, 4); Point point2 = new Point(6, 8); double distance1 = Distance.CalculateDistance(point1, point2); Console.WriteLine($"Distance ...

    java代码-定义一个一维数据组

    public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { System.out.println(number); } } } ``` `README.txt`文件可能解释了这个程序的目的和如何运行...

    Android实现保持屏幕常亮功能

    public static void keepScreenLongLight(Activity activity) { boolean isOpenLight = CommSharedUtil.getInstance(activity).getBoolean(CommSharedUtil.FLAG_IS_OPEN_LONG_LIGHT, true); Window window = ...

Global site tag (gtag.js) - Google Analytics