java基础回顾(二)——内部类

时间:2022-11-27 20:35:02

一、常规内部类

 public class Outer {
int count; void say(){
count++;
System.out.println("我是外部类");
}
void walk(){
count++;
System.out.println("I am walking.....");
}
class Inner{
int inner_count; //外部类无法访问到内部类的局部变量
void say(){
walk();//内部类可以直接调用外部类方法及变量
Outer.this.say();//方法名重复时可以使用此种方法调用
count++;
System.out.println("我是内部类"+count);
} }
}

   实例化内部类

 public class Demo {
public static void main(String[] args) {
Inner i=new Outer().new Inner();
i.say();
}
}

二、静态内部类

 public class Outer {
static int count; void say(){
count++;
System.out.println("我是外部类");
}
void walk(){ System.out.println("I am walking.....");
}
static class Inner{ //静态内部类无法访问外部类的非静态变量
int inner_count;
void say(){
System.out.println("我是内部类"+count);
}
}
}

    实例化内部类

public class Demo {
public static void main(String[] args) {
Inner i=new Outer.Inner();
i.say();
}
}