- 浏览: 187824 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. Java中innerClass内部类
用AA.BB可以生成内部类,在编译的时候用AA$BB.class来表示。 class StaticInner{ private static int a = 4; public static class Inner{ public void test(){ System.out.println(a); } } } public class StaticInnerClassTest { public static void main(String[] args) { StaticInner.Inner inner = new StaticInner.Inner(); inner.test(); } } 运行结果: 4 1) 静态内部类(static inner class):只能访问外部类的静态成员变量与静态方法,生成静态内部类对象的方式为: OuterClass.InnerClass inner = new OuterClass.InnerClass(); class MemberInner{ private int a = 4; public class Inner2{ private int a = 5; public void doSomething(){ System.out.println(MemberInner.this.a); } } public void method(){ Inner2 inner = this.new Inner2(); } } public class MemberInnerClassTest { public static void main(String[] args) { MemberInner.Inner2 inner = (new MemberInner()).new Inner2(); inner.doSomething(); } } 用(new AA()).new BB()类生成内部类,访问成员变量时,用OuterClass.this.aaa访问外部类的变量。 MemberInner.Inner2 inner = (new MemberInner()).new Inner2(); 2) 成员内部类(memberinnerclass):可以访问外部类的静态与非静态的方法与成员变量。生成成员内部类对象的方式为: OuterClass.InnerClassinner = newOuterClass().newInnerClass(); class LocalInner{ public void doSomething(){ final int a = 4; class Inner3{ public void test(){ System.out.println(a); } } new Inner3().test(); } } public class LocalInnerClassTest { public static void main(String[] args) { LocalInner localInner = new LocalInner(); localInner.doSomething(); } } LocalInner localInner = new LocalInner(); localInner.doSomething(); 想要访问内部类,就调用外部类的方法。 3) 局部内部类(LocalInnerClass):定义在方法当中,只能访问方法中声明的final类型的变量。 import java.util.Date; public class AnonymousInnerClassTest { @SuppressWarnings("deprecation") public String get(Date date){ return date.toLocaleString(); } public static void main(String[] args) { AnonymousInnerClassTest test = new AnonymousInnerClassTest(); // String str = test.get(new Date()); // System.out.println(str); String str = test.get(new Date(){ public String toLocalString(){ return "hello world"; } }); System.out.println(str); } } 编译时生成生成AnonymousInnerClassTest$1.class。 4) 匿名内部类(Anonymous Inner Class) :匿名内部类会隐式地继承一个父类或实现一个接口。 匿名内部类实现actionPerformed方法的监听器的监听 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; public class SwingTest { public static void main(String[] args) { JFrame frame = new JFrame("JFrame"); JButton button = new JButton("click me"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("welcome"); } }); frame.setSize(200, 200); frame.getContentPane().add(button); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.setVisible(true); } }
发表评论
-
Java中获取IP地址、子网掩码、网关地址
2019-06-26 10:53 01. Java中获取IP地址、子网掩码、网关地址、ping连通 ... -
Java中ThreadLocal
2019-04-19 10:44 01. Java中ThreadLocal Java中的Th ... -
Java中原子性锁synchronized、Lock
2019-04-18 15:19 01. synchronized依赖JVM 1) 修饰代码 ... -
Java中原子性Atomic
2019-04-18 14:45 01. Atomic包简介 java.util.concu ... -
开发常用链接
2019-03-26 11:21 0在线工具:http://tool.oschina.net/ ... -
java1234学习目录
2019-03-21 11:08 01-01-01 N01 J2SEv2(41课时) ... -
Java中TCP和UDP
2018-10-25 10:55 3391. 网页内容获取 Url1.java impor ... -
Java中Thread线程
2018-10-25 09:38 3801. 实现线程的两种方式 1. 继承Thread类并重写 ... -
Java中serializable序列化
2018-10-24 14:46 4681. 序列化 transient不会被序列化。 imp ... -
Java中CharSet集
2018-10-24 11:31 5361. CharSet集 import java.nio. ... -
Java中RandomAccessFile类
2018-10-24 11:30 4951. RandomAccessFile类 1. 使用Ra ... -
Java中I/O的字符流InputStreamReader和OutputStreamWriter
2018-10-22 09:43 4351. InputStreamReader和OutputStre ... -
Java中其它输入输出流
2018-10-22 09:08 4651. ByteArrayInputStream流 以ar ... -
Java中I/O的OutputStream流
2018-10-22 08:54 4831. Java中I/O的OutputStream流 1. ... -
Java中I/O的InputStream流
2018-10-22 08:42 4581. Java中I/O的InputStream流 1. ... -
Java中I/O的File类
2018-10-19 13:45 4301. Java中I/O的File类 1. 在window ... -
Java中adapter适配器
2018-10-18 08:36 5781. Java中adapter适配器 适配器adapte ... -
Java中awt包
2018-10-17 11:26 17031. Java中awt包 AWT事件模型Event 1 ... -
Java中frame对象
2018-10-17 10:56 6621. Java中frame对象 1. Frame对象 ... -
Java中exception异常
2018-10-17 10:24 4091. Java中exception异常 Java中的异常 ...
相关推荐
1. 对于成员内部类和静态嵌套类,可以通过`new OuterClass().new InnerClass()`或`OuterClass.InnerClass inner = new OuterClass().new InnerClass();`来实例化。 2. 局部内部类和匿名内部类只能在定义它们的方法...
Java 内部类,也称为嵌套类,是Java编程语言中的一种特殊特性,它允许一个类被定义在另一个类的内部。内部类分为几种类型,包括静态成员类(Static member class)、局部内部类(Local inner class)、匿名内部类...
在“java_innerclass_instance.rar_innerclass”这个压缩包中,包含的资源可能是一个关于Java内部类实例应用的示例代码。 内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。这里我们主要...
在Java编程中,嵌套类是一种重要的面向对象设计工具,它允许程序员在一个类的内部定义另一个类。这种特性极大地增强了Java语言的灵活性和封装能力。 #### 二、嵌套类分类 嵌套类主要分为两大类:**静态嵌套类**...
Java编程语言中存在一些易混淆的概念,今天我们将探讨 Anonymous Inner Class、final、finally、finalize 的区别,Static Nested Class 和 Inner Class 的不同,&和&&的区别,HashMap 和 Hashtable 的区别,...
Java中的静态内部类(Static Class),也称为嵌套静态类,是Java语言提供的一种独特机制,它允许我们在一个外部类内部定义一个静态的类。这种类的声明前面带有`static`关键字,与普通的内部类(非静态内部类)有所...
Java内部类是Java语言中的一种特殊类别,它是指定义在另外一个类内部的类。内部类可以访问外部类的所有成员变量和方法,包括私有的变量和方法。内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部...
创建静态内部类的实例时,无需先创建外部类的实例,而是通过外部类名直接创建,如 `OuterClass.InnerClass inner = new OuterClass.InnerClass();`。 2. 成员内部类(Member Inner Class) 成员内部类不带 `static...
内部类(Inner Class)是Java语言中一个独特的特性,它允许在一个类的内部定义另一个类。这种设计模式在处理特定问题时提供了更大的灵活性,比如实现事件监听器、封装复杂逻辑或者创建私有的辅助类。本章我们将深入...
嵌套类主要分为两大类:静态嵌套类(Static Nested Class)和非静态嵌套类(Non-static Nested Class),后者通常被称为内部类(Inner Class)。 - **静态嵌套类**:此类嵌套类被声明为`static`,因此它们与外部类...
Java内部类是Java语言特性中一个独特而强大的部分,它允许在一个类的内部定义另一个类。内部类可以访问外部类的所有成员,包括私有成员,这使得内部类在实现某些特定设计模式时非常有用。本篇文章将深入探讨Java中的...
在Java编程语言中,内部类(也称为嵌套类)是一种强大的工具,它可以提高代码的组织性和可读性。内部类可以直接访问外部类的所有成员,包括私有(private)成员,这使得它们在处理封装和实现特定逻辑时非常有用。...
在Java编程语言中,内部类(也称为嵌套类)是一种特殊类型的类,它可以被定义在一个外部类的内部。内部类有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。本篇将主要讨论如何构造内部类对象以及如何...
7. **编译后的独立性**:Java编译后,内部类会被单独编译成`.class`文件,文件名为外部类名+内部类名,如`OuterClass$InnerClass.class`。 8. **使用场景**:成员内部类常用于实现复杂的逻辑封装,比如GUI编程中的...
- 如果子类和父类都有内部类同名的情况,子类的内部类会覆盖父类的内部类,访问时需明确指出是父类的内部类,例如 `ParentClass.InnerClass inner = new ChildClass().new ParentClass.InnerClass();` 4. **匿名类...
在这个例子中,`InnerClass` 是 `OuterClass` 的成员内部类,它可以访问 `outerField` 这个私有字段。 二、方法内部类 方法内部类,也称为局部内部类,是在一个方法内部定义的类。它们的作用域仅限于该方法,因此...
第二种方法是使用 outerObject.new InnerClass(Constructor Parameters) 语法格式创建非静态内部类对象。在创建非静态内部类对象时,一定要先创建起相应的外部类对象。 非静态内部类对象的特点 非静态内部类对象...
在这个"java内部类使用例子"中,我们将深入探讨这些类型,并通过实际代码来理解它们的工作原理。 首先,成员内部类是在外部类的成员位置定义的类,它可以访问外部类的所有成员,包括私有成员。成员内部类的实例与...
在java语言中,有一种类叫做内部类(inner class),也称为嵌入类(nested class),它是定义在其他类的内部。