- 浏览: 141893 次
-
文章分类
- 全部博客 (149)
- Java (41)
- 设计模式 (23)
- php (2)
- C++ (2)
- Linux (6)
- C (1)
- JavaEE (27)
- javascript (2)
- uplodify (1)
- Mybatis (2)
- Maven (4)
- Lucene (3)
- commons (1)
- Spring (7)
- SQL (3)
- mahout (1)
- MySQL (2)
- extjs4.2.1 (2)
- ubuntu (1)
- hadoop (1)
- hibernate (1)
- Spring JPA (2)
- JPA 2.0 (1)
- express (1)
- redis (2)
- angularjs (1)
- git (1)
- Python (1)
- logging (2)
最新评论
-
xlaohe1:
controller返回的是一个POJO对象,然后用@Resp ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
能帮到你,我也很高兴。
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
jobzjc:
第一段有帮到我。如果是非对象,Object方式传递的时候,第一 ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
dingran 写道为什么,我怎么就没找到System > ...
Ubuntu 12.04 设置 IBus 开机启动 -
dingran:
为什么,我怎么就没找到System >> Pref ...
Ubuntu 12.04 设置 IBus 开机启动
当生成一个内部类的对象时,此对象与制造它的外围对象就有了一种联系。所以其能访问
其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其外围类的所有元素的
访问权。
在拥有外部类对象之前是不可能创建内部类对象的。这是因为内部类对象会暗暗地连接到它的外部类对象上。
但是,如果你创建时嵌套类(静态内部类),那么它就不需要对外部对象的引用。
public class DotThis { void f() { System.out.println("DotThis.f()"); } public class Inner { public DotThis outer() { return DotThis.this; } public void say() { System.out.println("inner class"); } } public Inner inner() { return new Inner(); } public static void main(String[] args) { DotThis dotThis = new DotThis(); DotThis.Inner inner = dotThis.inner(); inner.outer().f(); // 创建内部类对象 DotThis.Inner dni = dotThis.new Inner(); dni.say(); } }
public class Sequence { private Object[] items; private int next = 0; public Sequence(int size) { items = new Object[size]; } public void add(Object x) { if (next < items.length) { items[next++] = x; } } private class SequenceSelector implements Selector { private int i = 0; @Override public boolean end() { return i == items.length; } @Override public Object current() { return items[i]; } @Override public void next() { if (i < items.length) { i++; } } } public Selector selector() { return new SequenceSelector(); } public static void main(String[] args) { Sequence sequence = new Sequence(10); for (int i=0; i<10; i++) { sequence.add(Integer.toString(i)); } Selector selector = sequence.selector(); while (!selector.end()) { System.out.println(selector.current() + " "); selector.next(); } } }
public class Parcel4 { private class PContents implements Contents { private int i = 11; @Override public int value() { return i; } } protected class PDestination implements Destination { private String label; private PDestination(String whereTo) { this.label = whereTo; } @Override public String readLabel() { return label; } } public Destination destination(String s) { return new PDestination(s); } public Contents contents() { return new PContents(); } }
匿名内部类
public class Prac17 { public Contents contents() { return new Contents() { private int i = 11; @Override public int value() { return i; } }; } public static void main(String[] args) { Prac17 prac17 = new Prac17(); Contents c = prac17.contents(); } }
发表评论
-
java.lang.IllegalArgumentException: Unable to initialize due to invalid secret k
2017-01-04 13:07 3788因为某些国家的进口管制限制,Java发布的运行环境包中的加解 ... -
Spring 4.x Task 和 Schedule 概述
2016-09-30 22:27 934https://zhangzhaoyu.github.io/2 ... -
Java SPI机制
2016-07-11 15:23 9461. 概述 SPI为Service Provider Inte ... -
获取ClassLoader加载目标类的路径
2016-04-01 12:16 2196ClassLoader加载的目标类的路径。 publi ... -
Java Validator 泛型化实现
2015-12-07 14:58 9191. Java 的static 方法无法访问泛型类的类型参数 ... -
Java 实现Tuple
2015-12-07 14:08 882在一次方法调用就能返回多个对象,实现return 的这个功能 ... -
Java 中队列和递归
2015-07-25 11:08 742public class DataConversion { ... -
Maven 非Web 项目log4j 配置
2015-06-21 14:51 1439Maven 非Web 项目log4j.properties 文 ... -
Java 多线程异常捕捉
2015-04-09 10:57 586package org.anicloud.concurre ... -
Java Comparable 和 Comparator 比较
2015-04-01 01:10 498Java Comparable 和 Comparator 比 ... -
Maven 运行jar
2015-03-26 16:34 519<?xml version="1.0&qu ... -
Java 回调
2015-01-07 16:38 552public interface CallBack { ... -
Eclipse中Cannot find any provider supporting DES解决之道
2014-10-21 14:29 761Eclipse中Cannot find any provide ... -
Spring 事务相关
2014-07-02 17:35 547... -
Java RMI简单实例
2014-06-16 22:39 531public interface MyRemote ext ... -
设计模式-组合模式
2014-06-15 12:46 496当有数个对象的集合,它们彼此之间有“整体/部分”的关系,并且 ... -
Java 自定义栈结构
2014-06-13 19:03 804public class LinkedStack<T ... -
Java 文件关闭的位置
2014-06-12 10:35 681public class InputFile { pr ... -
Java 回调机制
2014-06-11 13:13 596Class A实现接口CallBack callback—— ... -
Java 生成随机字符串
2014-06-09 19:44 590public class RandomWords impl ...
相关推荐
Java 内部类详解 Java 内部类是一种高级特性,允许在一个类的定义内部创建另一个类。这种设计模式提供了更灵活的代码组织方式,同时还可以实现特定的封装和访问控制。内部类主要分为四种类型:静态内部类、成员内部...
### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...
### Java内部类详解 #### 一、内部类的分类与概念 Java的内部类机制是其强大特性之一,它允许类作为另一个类的成员存在,从而增强了代码的封装性和复用性。根据定义和作用域的不同,Java内部类主要分为四类: 1. ...
### Java内部类应用详解 #### 一、引言 自Java 1.1引入内部类这一概念以来,它一直是开发者们热烈讨论的话题。作为一种强大的语言特性,内部类为Java编程带来了许多灵活性,但也可能导致代码复杂度增加。正确理解...
### Java内部类的应用场景 #### 场景一:当某个类除了它的外部类,不再被其他的类使用时 内部类的使用场景之一是当某个类仅需被其外部类使用时。这种情况下,将此类定义为内部类可以提高代码的封装性和可维护性。 ...