`

有两个关于内部类(Inner Class)的示例

阅读更多
第一个,演示一个简单的外部类使用内部类示例:
public class OuterClass
{
    //内部类
    private class InterClass
    {
       //内部类的构造函数
       public InterClass()
       {
           System.out.println("InterClass Create");
       }  
    }
    //外部类的构造函数
    public OuterClass()
    {
       InterClass ic = new InterClass();
       System.out.println("OuterClass Create");
    }  
    public static void main(String[] args)
    {
       OuterClass oc = new OuterClass();
    } 
}

第二个,选择填空,什么时候地方使用什么样的静态类:
    public class OuterClass {
       private double d1 = 1.0;
       //insert code here
    }
You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.):
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}

说明如下:
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 故 D 错
三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
四.答案为C、E
分享到:
评论

相关推荐

    Java内部类(innerclass).docx

    在Java编程中,嵌套类是一种重要的面向对象设计工具,它允许程序员在一个类的内部定义另一个类。这种特性极大地增强了Java语言的灵活性和封装能力。 #### 二、嵌套类分类 嵌套类主要分为两大类:**静态嵌套类**...

    java_innerclass_instance.rar_innerclass

    在“java_innerclass_instance.rar_innerclass”这个压缩包中,包含的资源可能是一个关于Java内部类实例应用的示例代码。 内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。这里我们主要...

    java-嵌套类(inner class)-来自oracle官网

    嵌套类主要分为两大类:静态嵌套类(Static Nested Class)和非静态嵌套类(Non-static Nested Class),后者通常被称为内部类(Inner Class)。 - **静态嵌套类**:此类嵌套类被声明为`static`,因此它们与外部类...

    内部类介绍

    对于一个名为`OuterClass`的外部类和一个名为`InnerClass`的内部类,编译后会产生两个文件:`OuterClass.class`和`OuterClass$InnerClass.class`。其中`$`符号用于区分内部类与其外部类。 总结来说,内部类在Java中...

    详细介绍java中的内部类共8页.pdf.zip

    - 内部类的编译结果会产生两个.class文件,一个属于外部类,另一个是内部类,名字为外部类名$内部类名.class。 3. **内部类的使用场景:** - **事件处理**:如Swing或JavaFX中的事件监听器,通过匿名内部类实现...

    day08面向对象-内部类、异常.doc

    在Java编程语言中,内部类(Inner Class)是一种特殊类型的类,它被定义在另一个类的内部。内部类使得程序设计更加灵活和模块化,允许更复杂的类结构和逻辑组织。根据内部类的定义位置不同,我们可以将其分为成员...

    Java内部类

    内部类分为两种主要类型:成员内部类(也称为静态内部类或非静态内部类)和局部内部类(包括匿名内部类)。此外,还有特殊的静态内部类。 #### 二、成员内部类 成员内部类是在外部类的一个成员位置上定义的类。...

    有关JAVA的内部类的好东西

    在给定的示例中,`Goods` 类有两个内部类:`Content` 和 `GDestination`。`Content` 是一个私有内部类,实现了 `Contents` 接口,`GDestination` 是一个受保护的内部类,实现了 `Destination` 接口。这两个内部类...

    浅谈Java内部类的四个应用场景

    Java中的内部类分为静态内部类(Static Inner Class)和非静态内部类(Non-static Inner Class),非静态内部类又包括成员内部类(Member Inner Class)、局部内部类(Local Inner Class)以及匿名内部类(Anonymous...

    Android学习之内部类

    编译后,可以看到有两个`.class`文件生成:`Outer.class`和`Outer$Inner.class`。后者是内部类编译后的文件,其中的`$`符号用于区分外部类和内部类。 **重要特点:** 1. **访问权限:**内部类可以直接访问外部类的...

    内部类总结

    例如,定义两个接口`Foo`和`Bar`,并通过内部类实现这两个接口。 ```java public interface Foo { void say(); } public interface Bar { void readMe(); } public class Test2 { public static void ...

    Java内部类.pdf

    - **编译后的结果**:编译后会生成两个独立的`.class`文件,分别为`Outer.class`和`Outer$Inner.class`。 2. **局部内部类** - **定义**:在方法体或代码块中定义的内部类。 - **特点**:只能在定义它的方法或...

    java内部类的使用

    - `Inner`类是`Outer`类的成员内部类,它有一个私有整型成员`index`和两个方法`print()`和`aa()`。 - `print()`方法中,`index`是一个局部变量,`this.index`是指向内部类的成员变量`index`,`Outer.this.index`是...

    内部类和匿名类大汇总

    例如,`InnerClass` 示例展示了如何使用匿名内部类来实现 `MouseListener`,以便在鼠标点击时更新文本框的内容。 总结来说,内部类和匿名类是Java中提高代码效率和模块化的强大工具。内部类可以封装复杂逻辑,提供...

    7.内部类、泛型、递归、IO、异常.md

    这种内部类的一个显著特点是,它并不依赖于外部类的实例,也就是说,即使外部类没有实例化,静态内部类也可以被实例化。 ##### 示例 ```java public class OuterClass { // 静态内部类 public static class ...

    接口--内部类--多继承

    在Java编程语言中,接口和内部类是两种重要的特性,它们分别用于实现多态性和封装。接口是一种定义行为规范的抽象类型,而内部类则提供了一种在类中嵌套其他类的方式,增强了代码的组织性和隐私性。多继承则是Java中...

    详解Java 中的嵌套类与内部类

    嵌套类(Nested Class)可以在一个类内部定义另一个类,这种类称为嵌套类(Nested Class)。嵌套类有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类较少使用,非静态嵌套类使用较多,也就是常说的内部类。 静态...

    Java面试之——代码与编程题

    例如,一个外部类中插入内部类声明,除了成员内部类和静态内部类外,还可以是局部内部类(尽管在给定的上下文中不可能),但不能是顶级类(即不在任何类内部的类)。 总的来说,Java面试中的代码与编程题涵盖了广泛...

Global site tag (gtag.js) - Google Analytics