黑马程序员技术交流社区
标题:
关于内部类的一道题,,不知道怎么继续往下写了,忘大家解...
[打印本页]
作者:
黄佳
时间:
2012-10-12 09:36
标题:
关于内部类的一道题,,不知道怎么继续往下写了,忘大家解...
本帖最后由 黄佳 于 2012-10-12 14:05 编辑
package com.itheima;
/*
* 8、 创建一个包含实例内部类的类,外部类中定义一个名为str的String字符串并初始化任意值,
* 在内部类中定义跟外部类同种类型且同名的变量,并在内部类中定义一个方法,分别打印外部类和内部类的变量。
*/
public class Test8 {
public static void main(String[] args) {
String str = "outer";
System.out.println(str);
}
class Inner{
String str = "inner";
void show(){
System.out.println(str);
}
}
}
作者:
张丽
时间:
2012-10-12 09:57
public class Test8 {
public static void main(String[] args) {
Outer out=new Outer();
out.in.show();
}
}
class Outer{
public static String str = "outer";
Inner in=new Inner();
class Inner{
public String str = "inner";
void show(){
System.out.println(Outer.str);
System.out.println(Outer.Inner.this.str);
这个拟看看是不是你要的结果。输出结果是
Outer
Inner
}
}
}
作者:
徐梦侠
时间:
2012-10-12 10:38
内部类本来可以直接访问外部类中的成员,包括私有。之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this。这时若内部类和外部类的成员变量同类型且同名,就需要把外部类的引用加上。
//创建一个外部类
class Outer{
//创建一个字符串变量,并初始化值
String str="I'm Outer";
//创建一个内部类
class Inner{
//创建一个字符串同名变量,并初始化不同的值
String str="I'm Inner";
//定义一个函数,打印外部类中的str
void priOuter(){
System.out.println("Outer: "+Outer.this.str);
}
//定义一个函数,打印内部类中的str
void priInner(){
System.out.println("Inner: "+str);
}
}
}
public class Test8 {
public static void main(String[] args) {
//建立一个内部类对象
Outer.Inner outAndIn=new Outer().new Inner();
//打印外部类中的str
outAndIn.priOuter();
//为了更容易区分打印分割线
System.out.println("----------------");
//打印内部类中的str
outAndIn.priInner();
}
}
作者:
杨政
时间:
2012-10-12 11:50
这是刚做的基础测试题。
public class Test6
{
public static void main(String[] args)
{
Outer01 out01 = new Outer01(); //创建外部类对象
Outer01.Inner01 in01 = out01.new Inner01(); //创建内部类对象
in01.show(); //调用show()方法分别打印外部str和内部str
}
}
class Outer01
{
String str = "外部String";
class Inner01
{
String str ="内部String";
void show()
{
Test7.sopln(Outer01.this.str); //打印外部str
Test7.sopln(str); //打印内部str
}
}
}
//Test7.sopln()是一个打印方法。
内部类和外部类变量同名,打印内部变量直接用变量名,打印外部变量用 外部类名.this.变量名
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2