相关疑难解决方法(0)

java编译的类包含美元符号

我一直在使用Eclipse作为我的开发IDE.我还用它将我的应用程序导出到.jar文件中.当我在.jar文件中查看我的类时,我的一些类包含该类的名称,一个美元符号,然后是一个数字.例:

  • 查找$ 1.class
  • 查找$ 2.class
  • 查找$ 3.class
  • Find.class

我注意到它在更大的课程上做到这一点.这是因为这些类变得如此之大,它会将它编译成多个类吗?我用Google搜索并查看了多个论坛,并搜索了Java文档,但没有发现任何与之相关的内容.有人能解释一下吗

java compilation class

75
推荐指数
3
解决办法
4万
查看次数

Java中常用内部类吗?他们"坏"吗?

Java中常用内部类吗?这些是否与嵌套类相同?或者用Java更换这些更好的东西?我有一本关于版本5的书,它有一个使用内部类的例子,但我想我读过一些内部类是"坏的".

我不知道,并希望有关于它的想法.

谢谢.

java inner-classes

21
推荐指数
3
解决办法
1万
查看次数

对象凝聚力的Java标准是什么?对象中的太多信息是否意味着糟糕的设计? - 见例子

我正在创建一个模拟机场着陆系统的项目.我有一个plane存储我需要排序的所有信息对象planequeue和存储在数据库中.所有重要信息都包含在对象中,但我还包括每个平面的坐标.我的问题是它可能不被认为具有凝聚力,因为每个人都plane做了很多不同的事情.

我只是想知道这是否被认为是糟糕的设计还是有更好的方法来做到这一点?

此外,对象内部凝聚力的"规则"是什么?是否有特定的设计模式可以解决这个问题?

public class Plane extends Aircraft {
/*
 * Flight status should only take one of these enum values
 */
private static enum Status {
    REGISTERED, IN_QUEUE, LANDING, LANDED
};

// Set aircraft status to REGISTERED when created
private Status status = Status.REGISTERED;

private double fuelLevelPercentage;
private int passengerCount;
private int aircraftNumber;
private String airlineCompany;
private String departureAirport;

// This is used by the constructor to assign a random city …
Run Code Online (Sandbox Code Playgroud)

java design-patterns object cohesion

5
推荐指数
1
解决办法
520
查看次数

这个语言功能叫什么?

JPanel panel = new JPanel() {
        public void setBackground(Color c) {
           Logger.global.info("setBackground: c=" + c);
           super.setBackground(c);
        }
    };
Run Code Online (Sandbox Code Playgroud)

我只知道我能做到 JPanel panel = new JPanel();

为什么有人会这样做?它的名字是什么?

java

3
推荐指数
1
解决办法
108
查看次数

这个Java代码在做什么?

我知道C/C++/C#/ ActionScript/PHP并且已经在所有这些中工作过.根据我的知识,我们通常将对象初始化为

Object obj = new Object();
Run Code Online (Sandbox Code Playgroud)

Java在大多数时候都做了同样的事情,但昨天在使用Netbeans和JTable摆动控制时,IDE生成了这个代码,这对我来说有点奇怪.有关如何初始化对象的任何解释?新的DefaultTableModel(..)之后的{..}部分是什么?

_model = new DefaultTableModel(
     new Object [][] {
     },
     new String [] {
         "Id", "Project Title", "Start Date", "Deadline", "Description", "PercentDone"
     }) {
         Class[] types = new Class [] {
             java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
         };
         boolean[] canEdit = new boolean [] {
             false, false, false, false, false, false
         };

         @Override
         public Class getColumnClass(int columnIndex) {
              return types [columnIndex];
         }

         @Override
         public boolean isCellEditable(int rowIndex, int columnIndex) {
             return canEdit [columnIndex]; …
Run Code Online (Sandbox Code Playgroud)

java swing netbeans

3
推荐指数
1
解决办法
191
查看次数