Java软件开发中内部类的研究方法

时间:2013-05-05 栏目:java技术 阅读:0 作者:宏鹏教育宏鹏光谷校区

  JAVA从JDK1.1开始引入了内部类,可以参见代码。主要是可以引用类的内部其他元素,差不多是把这个内部类当成原类的元素。还有可以隐藏类的一些设计细节,好处还是很多的。

  定义两个接口

  package interfacepackage;

  public interface Destination {

  String readLabel();

  }

  package interfacepackage;

  public interface Contents {

  int value();

  }

  一个类,并且加有测试代码

  package debug;

  import interfacepackage.Contents;

  import interfacepackage.Destination;

  public class Tester {

  private int valueRate = 2;

  private class PContent implements Contents {

  private int i = 11 * valueRate;

  public int value() {

  return i;

  }

  }

  protected class PDestination implements Destination {

  private String label;

  private PDestination(String whereTo) {

  label = whereTo;

  }

  public String readLabel() {

  return label;

  }

  }

  public Destination dest(String s) {

  return new PDestination(s);

  }

  public Contents cont() {

  return new PContent();

  }

  public static void main(String args[])

  {

  Tester p = new Tester();

  Contents c = p.cont();

  System.out.println(c.value());

  Destination d = p.dest("天外水火");

  System.out.println(d.readLabel());

  System.out.println("done");

  }

  }

  上面的代码是内部动态类,那么内部静态类是否也可以呢?答案是可以的,但是静态内部类是无法引用类的其他非静态元素的,例如上例中的PContent 内部类如果改为static类,是无法引用valueRate 属性的,这样是会报编译错误的,但是如果valueRate 如果也改为static是可以运行的。

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情