标签:java
//外部类
class Outer
{
String name="我是外部类成员变量";
void outerMethod() //在外部类定义一个成员方法,实现创建一个内部类实例并调用其成员方法
{
inner in=new inner();
in.dispaly();
}
//内部类
class inner
{
void display()
{
System.out.println("Method of inner class print 'name'="+name);
}
}
}
/*-------------------------------------------*/
public class innerClassDemo {
public static void main(String[] args)
{
Outer outer = new Outer();
outer.outerMethod();
}
}

//外部类
class Outer
{
private int number=100;
public class Inner
{
private int number=200;
void print(int number)
{
System.out.println("I am innerClass"+"\n"+"参数number="+number+"\n"+"内部类成员 number="+this.number+"\n"+"外部类成员number="+Outer.this.number);
}
}
}
//外部以外的类
public class InnerClassDemo {
public static void main(String[] string)
{
Outer outer = new Outer(); //实例化一个Outer对象
Outer.Inner inner=outer.new Inner(); //实例化一个Inner对象
inner.print(300);//调用外部类的成员方法
}
}
//外部类
class Outer
{
private String str="姚明";
public void outerPrint()
{
int i=10;
//内部类
class Inner
{
void dispaly(final int number)
{
System.out.println(str);
System.out.println(number);
//System.out.println(i);//这条语句是错误的,方法中的内部类不能访问方法的非final变量
}
}
//实例化内部类并调用其成员方法
Inner inner = new Inner();
inner.dispaly(11);
}
}
public class InnerDemo
{
public static void main(String[] args)
{
Outer outer = new Outer();
outer.outerPrint();
}
}
//类A
abstract class A
{
abstract void display();
}
//Outer类,在其main方法中定义一个内部类,该内部类继承于类A
public class Outer {
//main成员方法
public static void main(String[] args)
{
//内部类
class Inner extends A
{
void display() {
System.out.println("I am Inner Class.");
}
}
new Outer().callInner(new Inner()); //创建Outer实例并调用其成员方法,方法参数为内部类对象
}
//callInner成员方法
public void callInner(A a)
{
a.display();
}
}
//类A
abstract class A
{
abstract void display(); //声明一个抽象类
}
//外部类
public class Outer {
//main成员方法
public static void main(String[] args)
{
new Outer().callInner(new A(){
void display() {
System.out.println("I am childclass of A,but I have not name -'Inner'");
}
});
}
//callInner成员方法
public void callInner(A a)
{
a.display();
}
}
标签:java
原文地址:http://blog.csdn.net/u012637501/article/details/43230627