一、内部类的
1.使用格式为
Outerclass.Innerclass in = new Outerclass().new Innerclass();
例子:
public ArrayList<Integer> searchRange1(TreeNode root,int k1,int k2){
ArrayList<Integer> res = new ArrayList<Integer>();
BinarySearchTreeIterator.BSTIterator bsti = new BinarySearchTreeIterator().new BSTIterator(root);
while(bsti.hasNext()){
TreeNode node = bsti.next();
if(node.val >= k1 && node.val <= k2){
res.add(node.val);
}
}
return res;
}
2.this的使用
内部类中的this指的是内部类,不是指的外部类。
//内部类方法中对外部类对象的引用
public class Test {
public static void main(String[] args) {
}
int a;
public class A{
int a;
public void Method(){
int a;
a=3; // a为Method方法的局部变量x
this.a=4; // a为内部类A的成员变量a this是对A类对象的引用
Test.this.a=5; // a为外部类Test的成员变量a Test.this是对外部类的Test类对象的引用
}
}
}