`

java 调用内部类

    博客分类:
  • Java
阅读更多

调用内部类的某个方法,需要用new关键字创建外部类,然后在通过外部类去调用内部类。

代码如下:

public class OuterInnerClass {

	private String name;
	private String age;
	class innerClass{
		innerClass(){
			System.out.println("oox");
		};
	}
	public innerClass ooxx(){
		return new innerClass();
	}
	
	public static void main(String[] args) {
		OuterInnerClass out = new OuterInnerClass();
		OuterInnerClass.innerClass in = out.ooxx();
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

}

 突然好奇如何调用内部类的某个属性:

public class OuterInnerClass {

	private String name;
	private String age;
	class innerClass{
		private String innername="test";
		innerClass(){
			System.out.println("oox"+this.innername);
		}
		public String getInnername() {
			return innername;
		}
		public void setInnername(String innername) {
			this.innername = innername;
		};
		
	}
	public innerClass ooxx(){
		return new innerClass();
	}
	
	public static void main(String[] args) {
		OuterInnerClass out = new OuterInnerClass();
		OuterInnerClass.innerClass in = out.ooxx();
		in.setInnername("mixian");
		System.out.println(in.getInnername());
		//OuterInnerClass out1 = OuterInnerClass.innerClasss();
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

}

 


 结果为:ooxtest  mixian

或者:OuterInnerClass outer = new OuterInnerClass();
  OuterInnerClass.innerClass inner = out.new innerClass();初始化结果是一样的

ps说明:

师傅说:内部类可以声明为static的,但此时就不能再使用外部类的非static的成员变量和非static的成员方法;
非static的内部类中的成员不能声明为static的,只有在
层类或static的内部类中才可声明static成员
理解:
也就是说内部类和外部类,在变量和方法的调用的时候,必须都是static 或者是非static
ps:
    内部类定义为静态的可以声明静态的变量,
    一个非静态的内部类不可以声明静态变量。
   静态内部类里面不可以应用外部的非静态变量
分享到:
评论
1 楼 锅巴49 2010-08-15  
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();

相关推荐

    java 匿名内部类的使用规范

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...

    java静态内部类(嵌套类)

    ### Java静态内部类(嵌套类)详解 #### 一、静态内部类概念与特性 在Java编程语言中,静态内部类(也被称为嵌套类)是一种特殊的内部类形式,它通过`static`关键字来定义。与普通内部类相比,静态内部类具有以下...

    有关JAVA的内部类的好东西

    Java内部类是Java语言中一个独特且强大的特性,它允许在一个类的定义内部定义另一个类。内部类可以访问外部类的所有成员,包括私有成员,这使得内部类在实现某些特定设计模式时非常有用。本篇文章将深入探讨Java内部...

    Java内部类总结

    内部类的构造器可以访问外部类的构造器,但如果内部类不是静态的,则需要调用`super()`来完成对父类构造器的调用。例如: ```java class a0 { class b0 { } } class vvv { class ff extends a0.b0 { ff(a0 kk) ...

    从零开始学JAVA第12章_内部类.ppt

    在外部类中访问内部类可以使用内部类对象来调用内部类的成员变量和成员方法。在外部类外访问内部类可以使用外部类对象来创建内部类对象,然后使用内部类对象来访问内部类的成员变量和成员方法。 创建非静态内部类的...

    java基础第七章内部类与异常类.doc

    Java 基础第七章内部类与异常类 Java 语言支持在一个类中定义另一个类,这样的类称做内部类。内部类和外嵌类之间存在着紧密的关系:内部类可以访问外嵌类的成员变量和方法,而外嵌类也可以使用内部类声明的对象作为...

    Java 匿名内部类

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不定义单独类的情况下创建对象。这种类没有名字,通常用作一次性实现某个接口或继承某个类的需求。在Java编程中,匿名内部类主要用于事件处理、回调...

    java调用activex控件

    此外,还引入了`sun.awt.*`包,这通常包含了一些非公开的Java内部类和方法,用于更底层的操作。 - **JNI代码的加载与调用**:`System.loadLibrary("MyWindow")`这行代码负责加载包含了JNI代码的库。JNI代码通常是用...

    java调用io流

    Java调用IO流是进行数据输入输出操作的核心技术之一,特别是在处理文件、网络通信和程序间数据传递时不可或缺。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节...

    java调用windows命令

    以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行程序。例如: ```java Process process = Runtime....

    java调用spss实例

    Java调用SPSS实例主要涉及的是如何通过编程方式与SPSS进行交互,这在数据分析、自动化报告或构建数据处理系统时非常有用。SPSS(Statistical Product and Service Solutions)是一款强大的统计分析软件,而它的Java...

    java调用一个URL接口的方法类

    以上就是使用Java调用URL接口的基本流程。在实际开发中,可能还需要处理更多细节,如错误处理、超时设置、重试策略等。此外,还可以考虑使用第三方库,如Apache HttpClient或OkHttp,它们提供了更丰富的功能和更好的...

    JAVA_内部类_反射机制

    Java中的内部类是一种特殊类型的类,它被定义在另一个类的内部。内部类有四种主要类型:成员内部类、静态嵌套类、方法内部类和匿名内部类。 1. 成员内部类:这类内部类就像外部类的成员,可以访问外部类的所有成员...

    Dubbo调用java接口程序

    本篇文章将深入讲解如何使用Dubbo进行Java接口的调用。 首先,理解Dubbo的核心概念: 1. **服务(Service)**:服务是业务逻辑的封装,它定义了服务的接口和协议,如`HelloService`,包含了一组`sayHello`这样的...

    JAVA调用ORACLE存储过程通用类

    ### JAVA调用ORACLE存储过程通用类 #### 概述 在Java开发中,经常会遇到需要与数据库交互的情况,特别是当涉及到复杂的业务逻辑时,利用数据库的存储过程可以有效地提高程序性能并简化代码结构。本篇文章将详细...

    java调用dll必备jar包

    Java调用DLL(动态链接库)是Java编程中的一项高级技术,主要应用于Java与本地代码交互,例如在Java中利用C++或C编写的库。本文将详细介绍如何使用Java调用DLL以及所需的必备jar包。 首先,Java并不直接支持DLL的...

    Java内部类.pdf

    还提到了内部类的构造方法以及如何在main方法中进行实例化和调用。 以上所述内容是基于Java内部类概念所展开的知识点,涵盖了Java内部类的基本使用方法、语法结构、编译特性以及常见的编程场景。

    java调用dll文件的实例

    Java调用DLL文件是将Java程序与C/C++编写的动态链接库集成的一种技术,主要通过JNI(Java Native Interface)来实现。JNI是Java平台的标准部分,它允许Java代码和其他语言写的代码进行交互。在本实例中,我们将探讨...

    java后端调用大华视频的demo

    "java后端调用大华视频的demo"就是一个典型的示例,它展示了如何利用Java调用大华提供的SDK来访问并控制大华监控设备。在这个场景中,开发者通常需要具备以下关键知识点: 1. **Java Native Interface (JNI)**:...

Global site tag (gtag.js) - Google Analytics