内部类分为四种:
1.成员内部类
2.局部内部类
3.静态内部类
4.匿名内部类
1.成员内部类
Java code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
//成员内部类......相当于非静态方法
class MemberInner {
private int a = 3;
public class Inner2 {
private int a = 2;
public void doSomething() {
// 调用外部类的属性
System.out.println(MemberInner.this.a);// 这块要注意......很重要!!!
System.out.println(a);
}
}
}
public class Test3 {
public static void main(String[] args) {
MemberInner.Inner2 inner2 = new MemberInner().new Inner2();// 非静态内部类要new实例
inner2.doSomething();
}
}
2.静态内部类
Java code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
//静态内部类......相当于静态方法
class StaticInner{
private static int a=3;
public static class Inner{
public void test(){
System.out.println(a);
}
}
}
public class Test2 {
public static void main(String[] args) {
StaticInner.Inner inner=new StaticInner.Inner();//静态内部类直接调用
inner.test();
}
}
3.局部内部类
Java code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
//局部内部类......相当于局部变量
class LocalInner {
public void doSomething(int b) {
final int a = 3;// 只能访问final的变量
class Inner3 {
public void test(int b) {
System.out.println(b);
System.out.println(a);
}
}
new Inner3().test(b);
}
}
public class Test4 {
public static void main(String[] args) {
LocalInner inner = new LocalInner();
inner.doSomething(4);
}
}
分享到:
相关推荐
内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部类。每种内部类都有其特点和应用场景。 一、成员内部类 成员内部类是指定义在外部类中的内部类。它们可以访问外部类的所有成员变量和方法,无论...
2. **简化代码**: 当需要实现一个接口,但只用一次时,匿名内部类提供了一种简洁的实现方式。 3. **封装**: 内部类可以用于封装特定逻辑,使其在外部类中保持隐藏,增加代码的封装性和安全性。 4. **线程**: ...
内部类有四种主要类型: 1. **成员内部类(实例内部类)**:它作为外部类的成员存在,与字段和方法并列。成员内部类可以访问外部类的实例变量,但不能有静态属性和方法(final的除外)。创建成员内部类的实例时,...
内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...
实例 4: Thread 类的匿名内部类实现 在这个例子中,我们使用匿名内部类来实现Thread类的run()方法。匿名内部类可以简洁的实现多线程编程。 实例 5: Runnable 接口的匿名内部类实现 在这个例子中,我们使用匿名...
内部类主要分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。 1. 静态内部类(Static Inner Class) 静态内部类与普通的类类似,只是它们定义在外部类中,并且前面带有 `static` 关键字。它们不会...
内部类可以分为四种类型:静态内部类、成员内部类(非静态内部类)、局部内部类和匿名内部类。 1. **静态内部类**: 静态内部类与普通的成员内部类不同,它不持有对外部类的引用。因此,可以像其他静态成员一样,...
4. **内部类访问外部类**:非静态成员内部类可以通过`this`关键字访问外部类中的成员变量和方法。如果外部类的方法中存在同名变量,则可以通过`外部类.this.变量`的方式访问外部类的成员变量。 #### 三、静态成员...
首先,内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类就像其他成员变量一样,可以直接访问外部类的所有成员,包括私有成员。局部内部类只存在于某个方法内,它的作用范围更小,...
匿名内部类是内部类的一种特殊形式,它没有类名,常用于一次性创建的对象,特别是在需要实现一个接口或继承一个类,但又不需要额外的方法时。例如,事件监听器的回调函数常常使用匿名内部类来实现。 2. **匿名内部...
非静态嵌套类可以分为三种:在一个类中直接定义的内部类、在一个方法中定义的内部类和匿名内部类。匿名内部类是指没有名字的内部类,通常用于实现某个接口或继承某个类。 四、在外部类中定义内部类 在外部类中定义...
下面将详细介绍每种类型的内部类及其特点和使用方法。 #### 成员内部类 成员内部类(也称为非静态内部类)是定义在一个外部类中的成员类,它可以访问外部类的所有成员变量和方法,包括私有成员。成员内部类的一个...
- **局部内部类**:定义在方法、构造器或块中的类称为局部内部类,它的作用域仅限于该方法、构造器或块。 - **匿名类**:没有名字的内部类,通常用于一次性实现某个接口或父类的简单功能。 2. **内部类继承** - ...
本文将围绕Java内部类进行深入探讨,包括内部类的基本概念、创建方式、访问控制以及一些高级用法。 #### 一、内部类概述 Java内部类主要包括以下几种类型:成员内部类(非静态内部类)、静态内部类(也称为静态...
本篇文章将深入探讨Java中的四种内部类:实例内部类、局部内部类、匿名类和静态内部类,并通过实例代码进行详细解析。 1. **实例内部类**:这是最常见的内部类形式,它在外部类的实例方法或成员位置定义。实例内部...
- 虽然名为“内部类”,但Java也允许接口嵌套在其他接口或类中,这与类的内部类相似,提供了一种组织接口的方式。 5. **内部类访问外部类成员**: - 内部类可以直接访问外部类的所有成员,包括私有成员,这是内部...
4. 匿名内部类:匿名内部类是指没有名字的内部类,通常用在创建实例时使用。 为什么需要内部类? 内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是,每个内部类都能独立地继承自一个(接口的)...
内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类就像普通的类成员,可以有自己的访问修饰符;局部内部类只存在于方法或块的范围内;匿名内部类通常用于快速创建一个简单的类实例,...
1. 数据封装:内部类可以访问外部类的私有成员,提供了一种封装数据的方式,增强代码的安全性。 2. 实现策略模式:内部类可以作为策略的实现,根据需要选择不同的内部类,实现策略的动态切换。 3. 封装回调函数:...