在eclipse创建一个接口插入主函数,但是程序运行不了是啥原因?我是照着书上打的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse创建一个接口插入主函数,但是程序运行不了是啥原因?我是照着书上打的。相关的知识,希望对你有一定的参考价值。

package com.test; public interface Test3 void f(); class Test33 implements Test3 public void f() System.out.print("implements successful!"); public static void main(String[] args) new Test33().f();

可以运行的,

你这是用的是内部类啊,初学不建议你这样。

interface Test3 
    void f();

    class Test33 implements Test3 
        public void f() 
            System.out.print("implements successful!");
        

        public static void main(String[] args) 
            new Test33().f();
        
    

建议改成这样

interface Test3 
    void f();


class Test33 implements Test3 
    public void f() 
        System.out.print("implements successful!");
    

    public static void main(String[] args) 
        new Test33().f();
    

结果:

implements successful!

追问

你在interface前面加上public试试,,,你这个程序名字是XXX.java?

追答

让你的程序执行Test33类

如果是eclipse run config 到Test33类
如果是cmd java Test33

追问

你帮看我看看,我创建interface的时候名字是用Test3的,这样没错吧? 创建好的这个接口没有主函数,主函数是我自己加上去。我想问创建接口的时候能加主函数么?

追答

1。我和下面的仁兄都能运行,证明你的程序没有问题,我是放到一个有main方法的类所在的文件里运行的,主要就是运行Test33,跟你的文件名称没有太大关系。
2。接口里面不能直接放main方法。想你这样就是变相的增加了一个,算是高技巧的写法,在真实的项目中,不提倡这么写代码。
3.将这个接口和类放到两个文件里,文件名就是类名,你再试试。

追问

书上是这样打的而且打印出了运行结果我就很好奇所以试试看。如果将这个接口和类放到两个文件里肯定没问题了,我再看看。谢谢。

追答

尽信书不如无书,要活学活用

参考技术A 如果使用cmd运行内部类
命令要加上主类名$运行类名
如:java Test3$Test33追问

我是把程序建在一个包里的,当我运行这个文件的时候输出的结果是另外一个类的运行结果,这是为什么?

追答

使用的是eclipse?如果是的话,并且你运行的方式是直接使用工具栏上的运行图标,可能运行的就上次运行的类...

追问

对,就是这种情况。我就不明白这个应该怎么搞。

参考技术B 你的程序我运行了,没有问题啊。追问

你在interface前面加上public试试,,,你这个程序名字是XXX.java?

追答

那就有可能是你的包有问题,可能你的类不属于com.test包,你试着把package这句删除后,在运行,还有文件名应该是Test3.java

追问

你说把package这句删掉就有问题,这句怎么能删掉?你试过能运行么,我是运行不了。

设置 Eclipse 不在接口中的方法声明之间插入空行?

【中文标题】设置 Eclipse 不在接口中的方法声明之间插入空行?【英文标题】:Set Eclipse not to insert blank lines between methods declaration in interfaces? 【发布时间】:2012-11-07 03:02:38 【问题描述】:

我无法设置格式化程序以不在接口中的方法之间插入空行。同时,我仍然希望类中的方法之间有空行。我找不到允许这样做的适当格式化程序设置。有人可以指出正确的选择吗?

【问题讨论】:

我认为你做不到。 eclipse 格式化程序不会检查您的方法是否在类或接口中。 我同意@vainolo。浏览了这些选项,似乎不可能为接口/常规类单独微调。 【参考方案1】:

正如 vainolo 在 cmets 中所说,没有任何直接的选择可以这样做。以下是eclipse格式化程序添加新行的截图,它不区分类和接口的方法

解决方法

但是,一个简单的手动解决方法是可能的。选择如下所示的行,然后运行简单的regex ^\s*\n 查找和替换以删除空白行。

希望这会有所帮助。

【讨论】:

以上是关于在eclipse创建一个接口插入主函数,但是程序运行不了是啥原因?我是照着书上打的。的主要内容,如果未能解决你的问题,请参考以下文章

eclipse里面没有,或者有错误的主函数就不能run as java application

如何在 Eclipse 中使用基于 Java 的程序插入按钮

设置 Eclipse 不在接口中的方法声明之间插入空行?

Android开发,Eclipse创建aidl接口时,出错

Eclipse 找不到/加载主类

Eclipse:主函数存在时出现“选择不包含主类型”错误