内部类
Posted fax1996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类相关的知识,希望对你有一定的参考价值。
1.成员内部类
例一
public class Test002 { public static void main(String[] args) { //1.第一种创建方法 Cricle c = new Cricle(5); // Cricle.Draw d = c.new Draw(); // d.drawShape(); //2.第二种,通过方法返回一个内部类对象 Cricle.Draw d2 = c.getDetDrawInstance(); d2.drawShape(); } } class Cricle{//外部类 private double radius = 0; public static int count = 1; int a = 0; public Draw getDetDrawInstance() { return new Draw(); } public Cricle(double radius) { this.radius = radius; //在外部类中访问内部类的成员需要先创建内部类对象 //new Draw().drawShape(); } class Draw{//内部类 public void drawShape() { int a = 2; System.out.println(radius);//访问外部类的Private成员 System.out.println(count);//访问外部类的静态成员 System.out.println(a);//访问内部类里的局部变量 System.out.println(Cricle.this.a);//访问成员变量 } } }
例二
public class Test003 { public static void main(String[] args) { Demo d = new Demo(new Outer2()); } } class Outer2{ Outer2(){ System.out.println("outer2"); } class Inner2{ Inner2(){ System.out.println("Inner2"); } } } //继承 实例内部类 class Demo extends Outer2.Inner2{ Demo(Outer2 o){ o.super(); System.out.println("Demo"); } }
2.局部内部类
局部内部类的访问仅限于方法内或者该作用域内
以上是关于内部类的主要内容,如果未能解决你的问题,请参考以下文章