黑马程序员技术交流社区

标题: 关于main方法定义的一个问题,求大神解答 [打印本页]

作者: liuzf006    时间: 2015-3-15 20:03
标题: 关于main方法定义的一个问题,求大神解答
1.      关于main方法说法错误的(BD)
A.      main方法是java程序执行的入口
B.      main方法的方法体重至少要有一行代码
C.      main必须定义在一个类中
D.  main方法的定义格式为:publicstatic void main(String[] args)
老师讲解的时候说c选项main必须定义在一个类中,但是好像定义在接口里也不报错,求解?
public interface Main {
public void main(String[] args);
}


作者: ccl|r    时间: 2015-3-15 20:05
老师还说  类和接口是平行关系,接口是特殊的抽象类,不要玩这些文字游戏啦!
作者: Pakumen    时间: 2015-3-15 20:09
不要在意这些小细节
作者: liuzf006    时间: 2015-3-15 21:41
Pakumen 发表于 2015-3-15 20:09
不要在意这些小细节

大神,帮忙分析下呀{:2_41:}
作者: liuzf006    时间: 2015-3-15 21:43
ccl|r 发表于 2015-3-15 20:05
老师还说  类和接口是平行关系,接口是特殊的抽象类,不要玩这些文字游戏啦! ...

是么?咋么感觉怪怪的
作者: ankje    时间: 2015-3-15 22:10
接口也是类的一种,如果你要将main写接口里也可以,但请将main方法修饰为静态的
作者: 李伟松    时间: 2015-3-15 22:20
接口是抽象类
作者: liuzf006    时间: 2015-3-15 22:21
ankje 发表于 2015-3-15 22:10
接口也是类的一种,如果你要将main写接口里也可以,但请将main方法修饰为静态的 ...

但接口里定义不了static的方法
作者: ankje    时间: 2015-3-15 22:35
  1. public interface Test {

  2.         public static void main(String[] args) {       
  3.                 System.out.println('a');               
  4.         }

  5. }
复制代码


为什么我这个就可以呢?你的jdk是什么版本
作者: ankje    时间: 2015-3-15 22:37
liuzf006 发表于 2015-3-15 22:21
但接口里定义不了static的方法
  1. public interface Test {

  2.         public static void main(String[] args) {        
  3.                 System.out.println('a');               
  4.         }

  5. }
复制代码

为什么我这个就可以呢?你的jdk是什么版本
作者: liuzf006    时间: 2015-3-15 22:43
接口里的抽象方法都不能有方法体的,大神,你在eclipse里编写下直接编译报错,JDK用的是1.7的
作者: liuzf006    时间: 2015-3-15 22:44
ankje 发表于 2015-3-15 22:35
为什么我这个就可以呢?你的jdk是什么版本

接口里的抽象方法都不能有方法体的,大神,你在eclipse里编写下直接编译报错,JDK用的是1.7的
作者: ankje    时间: 2015-3-15 22:53
liuzf006 发表于 2015-3-15 22:44
接口里的抽象方法都不能有方法体的,大神,你在eclipse里编写下直接编译报错,JDK用的是1.7的 ...

我的是1.8。或许真是版本不同,我在我这没有报错,但方法一定要静态!
作者: 薛慧彬    时间: 2015-3-15 23:01
感觉开发不会有这种情况吧。。。。。
作者: android-liu    时间: 2015-3-15 23:32
接口其实也是类,只是里面全是抽象方法罢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2