Eclipse新建类详解

时间: 作者:走吧走吧

Source Folder、Package

源文件,就是存放java源文件(未编译)的文件夹。当然也包括一些package文件夹,还可以包含其他文件

package,source folder,folder

在eclipse下,package,source folder,folder都是文件夹

上图中src/main/java 就是source folder
com.wisdombud.wisdomhr.spider.base就是package

异同:

相同:
package和source folder一样,除了java文件也可以包含其他文件。
项目构建后,两者里面的java自动编译成class文件到相应的/web-inf/classes文件夹中,其他文件也会移到/web-inf/classes相应的目录下
不同:
1.sourceFolder靠”/“来进行上下级划分,package靠”.”来进行上下级划分。如上图
2.source folder下能建package,而package下不能建source folder
3.java文件中的package属性是按package路径来进行赋值的,source folder路径不参与java文件的package属性赋值,再由第二条不同得到结论,所有source folder下的java文件package属性都为空

package:当你在建立一个package时,它自动建立到source folder
下,也只能建立在这个目录之下.

folder:

里面可以放入任何文件.包括java源文件,jar文件,其他文件(例如,图片,声音等)。如果里面含有java源文件,不管程序是否正确,eclipse都不会报错,把它们当做普通文件处理。

package,source folder,folder 之间相互转换 查看参考文章

Enclosing type

新建类的时候,勾上这个选项,表示新建的是一个内部类。而它在哪个类的内部,需要选择。

  • 内部类是指在一个类的内部再定义一个类。内部的这个类名不需要和文件夹名相同。
  • 内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部类【即类名和文件名相同的类】只能使用public和default)
  • 内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和它内部的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。所以内部类的成员变量/方法名可以和外部类的相同。

使用内部类的好处

  • 内部类可以很好的实现隐藏
    一般的非内部类,是不允许有 private 与protected权限的,但内部类可以
  • 内部类拥有外围类的所有元素的访问权限
  • 可以实现多重继承
  • 可以避免修改接口而实现同一个类中两种同名方法的调用。

Name

新建类的名字

Modifiers

这里修饰类的词只有4个选项。

  • 并且选择上,上面的public和package是互斥的。
    public表示该类是公共的,都可以访问的。
    package表示只有同一个包下的类才可以访问这个类。
  • 虽然abstract和final可以同时选择,但是这两个是不能同时选择的。
    abstract表示抽象类,类里面一定有抽象方法,抽象方法一定要子类来实现。
    这与final不能继承 互斥。

Superclass

要继承的父类(单继承)

Interfaces

要实现的接口(多实现)

自动生成选项

  • public static void main(String[] args) –入口函数;
  • Constructors from superclass –生成构造函数;
  • Inherited abstract methods –如果你继承的类存在abstract方法,会自动生成需实现的方法;
  • Generate comments –自动生成注释;

参考文章

Source Folder、Package参考文章
内部类参考文章
内部类2
内部类3