正如我读到的那样 Effective java
膨胀的类层次结构可能导致包含许多方法的膨胀类,这些方法仅在其参数类型上有所不同,因为类层次结构中没有类型可捕获常见行为.
在链接中
膨胀的类通常有许多特殊情况:属性或行为对某些实例有效,但对其他实例无效.程序员通常会通过引入类型标记来处理特殊情况.
Tagged类和膨胀类之间存在相似性,因为Effective java它被提到:
一个类,其实例有两种或多种风格,并包含一个标记字段,指示实例的风格.实例背负着属于其他风格的无关字段.
所以总结这两个类可能有标记类型/字段,并且这两个类都有很多实现(在一个类中模拟了很多特性).
我对这些术语感到困惑,我想知道,这两个Bloated类和Tagged类有什么区别?
我有这个代码,我在其中创建了一个类的对象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().