小编Pra*_*ant的帖子

膨胀类和标记类之间有什么区别?

正如我读到的那样 Effective java

膨胀的类层次结构可能导致包含许多方法的膨胀类,这些方法仅在其参数类型上有所不同,因为类层次结构中没有类型可捕获常见行为.

链接中

膨胀的类通常有许多特殊情况:属性或行为对某些实例有效,但对其他实例无效.程序员通常会通过引入类型标记来处理特殊情况.

Tagged类和膨胀类之间存在相似性,因为Effective java它被提到:

一个类,其实例有两种或多种风格,并包含一个标记字段,指示实例的风格.实例背负着属于其他风格的无关字段.

所以总结这两个类可能有标记类型/字段,并且这两个类都有很多实现(在一个类中模拟了很多特性).

我对这些术语感到困惑,我想知道,这两个Bloated类和Tagged类有什么区别?

java design-patterns anti-patterns

8
推荐指数
1
解决办法
1788
查看次数

Java,从一个类的两个对象调用的方法.同一个类中的一个对象和其他类中的一个对象

我有这个代码,我在其中创建了一个类的对象MyClass.我在main方法中创建了一个对象.我想调用类的方法,但它StackovetrflowError在运行时给出.建议我克服错误的方法.

这是代码......

class MyClass {


  public MyClass obj2  =new MyClass();


    public void show()
    {
        System.out.println("in show method...");
    }

    void message()
    {
        System.out.println("in message method...");
    }
}


public class AccessDemo {

    public static void main(String[] args) {

         MyClass obj1  = new MyClass();

            obj1.obj2.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想打印的方法就是里面的消息show()message().

java

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

标签 统计

java ×2

anti-patterns ×1

design-patterns ×1