Nested Class

1. Why Use Nested Classes?

There are several compelling reasons for using nested classes, among them:

  • It is a way of logically grouping classes that are only used in one place.
  • It increases encapsulation.
  • Nested classes can lead to more readable and maintainable code.

2. Taxonomy of Classes

2.1 Static Nested Classes

A static nested class is associated with its outer class. And like static class methods, a static nested class cannot refer directly to instance variables or methods defined in its enclosing class — it can use them only through an object reference.

 

2.1.1 Create an object for the static nested class

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
2.1.2 When to use static nested class
B is A's assistant class and only be used by A, define B as A's static nested class like JDK's LinkedList and it's Entry.
 

2.2 Inner Classes

As with instance methods and variables, an inner class is associated with an instance of its enclosing class and has direct access to that object's methods and fields. Also, because an inner class is associated with an instance, it cannot define any static members itself.

 

2.2.1 Instantiate an inner class

 

OuterClass.InnerClass innerObject = outerObject.new InnerClass();
2.2.2 Obtain outer class's reference
OuterClass.this
2.2.3 When to use
Inner class's most important feature is it can access outer class's any fields or methods, for example, in JDK's Collection
library, every collection must provide a according Iterator to support unified collection traversal.
 
2.3 Anonymous Inner Classes
 An inner class within the body of a method without naming it

 

2.3.1 When to use

 

The class has few code to implement

Taxonomy of Classes in Java Programming

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值