- 定义:方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
-
注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
-
代码:
//外部类 public class HelloWorld { private String name = "小明"; // 外部类中的show方法 public void show() { // 定义方法内部类 class MInner { int score = 83; public int getScore() { return score + 10; } } // 创建方法内部类的对象 MInner mi = new MInner(); // 调用内部类的方法 int newScore = mi.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore); } // 测试方法内部类 public static void main(String[] args) { // 创建外部类的对象 HelloWorld mo = new HelloWorld(); // 调用外部类的方法 mo.show(); } }
-
运行结果:
姓名:小明
加分后的成绩:93
- 浏览: 7182 次
相关推荐
Java 语言支持在一个类中定义另一个类,这样的类称做内部类。内部类和外嵌类之间存在着紧密的关系:内部类可以访问外嵌类的成员变量和方法,而外嵌类也可以使用内部类声明的对象作为其成员。内部类的类体中不能声明...
14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14...
方法内部类是指定义在外部类的方法中的内部类。方法内部类可以访问外部类的所有成员变量和方法,包括私有的变量和方法。方法内部类可以访问外部类的外部变量,但是不能访问外部类的外部方法。 匿名内部类 匿名内部...
非静态嵌套类可以分为三种:在一个类中直接定义的内部类、在一个方法中定义的内部类和匿名内部类。匿名内部类是指没有名字的内部类,通常用于实现某个接口或继承某个类。 四、在外部类中定义内部类 在外部类中定义...
内部类是定义在另一个类中的类,它可以访问外部类的所有成员变量和方法,即使它们被声明为私有的。内部类可以是静态的,也可以是非静态的。静态内部类可以独立于外部类实例化,而非静态内部类需要在外部类实例化后...
2. 局部内部类:在方法、构造器或块中定义,仅在其定义范围内可见。 3. 匿名内部类:没有名字的内部类,通常用作接口的匿名实现或创建一次性使用的类。 4. 静态内部类:与成员内部类类似,但可以独立于外部类实例...
在内部类中访问外部类的成员可以使用 `Outerclass.this` 来指定。 3. 局部内部类(Local Inner Class) 局部内部类定义在方法或代码块内,其作用域仅限于该方法或代码块。它们通常用于实现特定方法的功能,且只能...
### Java接口和内部类教程 ...总结来说,接口和内部类都是Java编程中的重要概念,它们各自有着独特的作用和应用场景。理解接口和内部类的使用可以帮助开发者更好地组织代码结构,提高代码的可重用性和可维护性。
- 局部内部类:定义在某个方法内部。 - 匿名内部类:没有名字的内部类,通常用于实现接口或继承类时立即使用。 - **内部类的使用环境**: - 当需要创建与外部类紧密相关的类时。 - 当需要访问外部类的私有成员时...
由于局部内部类在方法内部定义,它可以访问该方法中的所有局部变量,但这要求局部变量必须被声明为`final`,以确保在类定义时变量的值已经确定。 3. **匿名内部类**:匿名内部类是一种没有名称的内部类,它通常用于...
在内部类中使用`this`关键字可以指向当前内部类对象。如果需要引用外部类对象,则可以通过`外部类对象名.this`的形式访问。例如: ```java class dd { void print() { System.out.println("dd.printlnisthere"); }...
3. **本地内部类(Local Inner Classes)**:这些内部类是在方法体或初始化块中定义的。它们可以访问该方法中的局部变量,但这些变量必须是final的。本地内部类的作用域仅限于定义它的方法或块。 4. **匿名内部类...
- **局部内部类**:定义在方法、构造器或块中的类称为局部内部类,它的作用域仅限于该方法、构造器或块。 - **匿名类**:没有名字的内部类,通常用于一次性实现某个接口或父类的简单功能。 2. **内部类继承** - ...
在这个例子中,我们定义了一个接口Person,并且在匿名内部类中实现了接口中的方法eat()。然后,我们创建了一个匿名内部类的对象,并将其向上转型为Person接口的引用。 实例 4: Thread 类的匿名内部类实现 在这个...
本文将深入探讨Java中的四种内部类:非静态内部类、静态内部类、局部内部类和匿名内部类。 1. 非静态内部类(也称为成员内部类) 非静态内部类是定义在外部类的成员位置的类,它可以访问外部类的所有成员,包括私有...
下面我们将详细探讨成员内部类、方法内部类和静态内部类这三种类型的内部类。 一、成员内部类 成员内部类,顾名思义,就像类的其他成员(如字段和方法)一样,存在于类的主体中。成员内部类可以直接访问外部类的...
Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...
本文将详细介绍如何使用Java反射技术来获取内部类中的静态成员变量的值。 #### 二、背景知识 在深入探讨之前,我们需要了解几个基本概念: 1. **内部类**:内部类是一种特殊的类,定义在另一个类(外部类)的内部。...
在外部类中访问内部类可以使用内部类对象来调用内部类的成员变量和成员方法。在外部类外访问内部类可以使用外部类对象来创建内部类对象,然后使用内部类对象来访问内部类的成员变量和成员方法。 创建非静态内部类的...