Java实现内部类

内部类是java中非常方便的一种机制,内部类所在的类称为宿主类,即内部类只能被它的宿主类使用,用这个特性,可以很好的控制类的可见性。

接下来看一个例子:

package for_apro;
import java.util.*;
class outObject{
	private int id ;
	//在宿主类实现方法实例化内部类并访问内部类的方法
	void user_set_int(int id)
	{
	    intObject init = new intObject(); //实例化内部类
	    init.set(id);
	}
	void user_print_int()
	{
		intObject init = new intObject();
		init.print();
	}
	//定义一个内部类
	class intObject{
		void set(int id)
		{
			outObject.this.id = id ; //内部类设置宿主类的成员
		}
		void print()
		{
			System.out.println(outObject.this.id); //内部类打印宿主类成员
		}
	}
}
public class first_for {
	public static void main(String [] args){
		outObject out = new outObject();
		out.user_set_int(10086);
		out.user_print_int();
	}
}

执行结果:10086

时间: 2024-09-12 05:02:48

Java实现内部类的相关文章

java算法-java用内部类实现个山寨list(不许使用数组和集合)

问题描述 java用内部类实现个山寨list(不许使用数组和集合) java如何使用内部类来实现一个山寨的list,不允许使用数组和集合相关技术,只需实现list的add,size,get方法即可~~ 求大神指点下~~ 问题已解决~~~~~ 下面公布代码: 使用内部类实现的 在发布一种非内部类实现的 解决方案 不用数组和集合,可以用string String data = ""; void add(int value) { if (data.equals(""))

java语法-java中内部类的作用是神马

问题描述 java中内部类的作用是神马 java中内部类的作用是神马 java中内部类的作用是神马 java中内部类的作用是神马 解决方案 Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类,内部类一般来说包括这四种:成员内部类.局部内部类.匿名内部类和静态内部类.内部类可以随意使用外部类的成员变量(包括私有)而不用生成外部类的对象,这也是内部类的唯一优点. 内部类需要有外部类对象作为宿主的,它只能依存外部类而存在. 解决方案二: java中内部类的作用是神马不知道啊

JAVA中内部类的特点?

问题描述 JAVA中内部类的特点具体有些什么大侠们能不能写点具体的代码体现下呀 解决方案 解决方案二:这个不是一句话说的清的,建议看看<Java编程思想>,里面有很详尽的见解解决方案三:内部类一情况下都很少用,只是用于一些特殊功能上.有兴趣研究可以查阅相关书籍!解决方案四:谢谢诶小弟初学解决方案五:如果一个类得在逻辑上比较简单才考虑使用内部类,不然很少用,可以写成内部类的当然也能写成外部类,所以理解不了也没多大关系解决方案六:我在看<编程思想>,第十章的内部类是个重点呢,知识点很多

举例讲解Java的内部类与类的加载器_java

内部类 class A { //Inner1 要在 A 初始化后 才能使用,即要被A的对象所调用 class Inner1 { int k = 0; // static int j = 0; //A加载后,Inner1没有加载,所以这个 静态变量j 无法立即使用,报错 final int z = 0; /*static void say1() { }*/ void say2() { } } //Inner2 在A加载好后就可以使用了 static class Inner2 { int k = 0

Java的内部类和匿名类

提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class), 关于这两者的区别与联系,在下文中会有对比.内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么 简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用 心良苦.学会使用内部类,是掌握Java高级编程的一部分,它可以让你更

Java:使用内部类实现类的多重继承

Java不支持类的多重继承,但可以使用内部类来继承实现更多的类. 下面的例子,目标类需要继承两个抽象类(A和B).目标类C本身继承类A,并使用一个匿名内部类继承另一个类B. MultiImplementation.java abstract class A { abstract void methodA(); } abstract class B { abstract void methodB(); } class C extends A { @Override void methodA() {

关于JAVA含有内部类的类编译成class后修改Class文件出现错误

问题描述 JAVA类编译后是class文件,编译后生成了getname.class,和getname$1.class.这里我没有源码,我修改了getname.class中的一个System.out.print中输出的内容,比如原来输出wang,我使用工具将输出内容改成了li,文件反编译后与原来没有修改时的内容一致,但是在TOMCAT启动的时候报错了,报错内容为java.lang.ClassFormatError: Wrong InnerClasses attribute length in cl

java 关于内部类的一个例程

问题描述 publicclassMemberInnerClassTest{publicstaticvoidmain(String[]args){OuterHullouter=newOuterHull();OuterHull.InnerCoreinner=outer.newInnerCore();//OuterHull.InnerCoreinner1=newouter.InnerCore();//OuterHull.InnerCoreinner1=newInnerCore();System.out

java 学习 内部类 第六天

内部类  ?    内部类就是在类中定义的类 Inner  Class       内部类的this表示本对象      outer.this.data   访问到外部类的成员    内部类能操作外部类   public  private  protectd   缺省权限   修饰的成员         下面是内部类的例子 :     class Outer { private int index =100; class Inner {  private int index=50;  void