内部类对象可以调用外部类类成员嘛? 请指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以直接在内部类里面对外部类成员进行访问的,然后可以通过内部类的实例间接的访问外部类的成员。class Outer{ private int i; class Inner { public void print() { i=10; System.out.println(i); } }}public class InnerTest{ public static void main(String[] args) { Outer.Inner oi=new Outer().new Inner(); oi.print(); }} 给你个例子,你研究一下class Link{ class Node{ private int data; //保存节点的内容 private Node next; //保存下一个节点 public Node(int data){ this.data = data; } public void add(Node node){ if(this.next == null) this.next = node; else this.next.add(node); } /*public void print(){ System.out.print(this.data + "\t"); if(this.next != null) this.next.print(); }*/ public void print(){ System.out.print(this.data + "\t"); while(this.next != null){ System.out.print(this.next.data + "\t"); this.next = this.next.next; } } public boolean search(int data){ if(this.data == data){ return true; } else{ if(this.next!=null){ return this.next.search(data); } else{ return false; } } }}; private Node root; public void addNode(int data){ Node newnode = new Node(data); if(this.root == null) this.root = newnode; else this.root.add(newnode); } public void printNode(){ if(this.root!= null) this.root.print(); } public boolean searchNode(int data){ return this.root.search(data); }};public class LinkDemo{ public static void main(String args[]){ Link l = new Link(); l.addNode(1); l.addNode(2); l.addNode(4); l.addNode(4); l.addNode(5); l.addNode(7); System.out.println("==========================="); //l.printNode(); System.out.println(l.searchNode(5)); }} 简单地说,可以。访问外部类的实例成员用OuterClass.this.member这种方式访问(当内部类和外部类出现同名成员变量时尤其必要)。访问外部类的静态成员,直接用类名OuterClass.member就OK了。 考虑静态(static)内部类的话,回答则是不能调用非static成员。 可以的,使用OuterClass.this.成员变量名就可以 考虑到方法内部类(局部),貌似要求是final的。。 神奇的结果,7.7-7=??? 关于析构函数 hashmap最多能存放多少个key RowFilterListener 如何操作 有例子最好。 怎么统计行数? 安装JWhiz SCJP和JBuilder9均出错!请帮忙进!高分 使用menu移出移入panel的问题。 在执行java *.class时候,出现以下错误提示: 高分求购用JAVA开发的宽带网计费系统!急急急! 异地异构数据库间的数据交互传输问题 Java面试要考虑哪些方面? 怎么让这段代码能读取中文啊 它只能读英文
{
private int i;
class Inner
{
public void print()
{
i=10;
System.out.println(i);
}
}
}
public class InnerTest
{
public static void main(String[] args)
{
Outer.Inner oi=new Outer().new Inner();
oi.print();
}
}
class Link{
class Node{
private int data; //保存节点的内容
private Node next; //保存下一个节点
public Node(int data){
this.data = data;
}
public void add(Node node){
if(this.next == null)
this.next = node;
else
this.next.add(node);
}
/*public void print(){
System.out.print(this.data + "\t");
if(this.next != null)
this.next.print();
}*/
public void print(){
System.out.print(this.data + "\t");
while(this.next != null){
System.out.print(this.next.data + "\t");
this.next = this.next.next;
}
}
public boolean search(int data){
if(this.data == data){
return true;
}
else{
if(this.next!=null){
return this.next.search(data);
}
else{
return false;
}
}
}
};
private Node root;
public void addNode(int data){
Node newnode = new Node(data);
if(this.root == null)
this.root = newnode;
else
this.root.add(newnode);
}
public void printNode(){
if(this.root!= null)
this.root.print();
}
public boolean searchNode(int data){
return this.root.search(data);
}};
public class LinkDemo{
public static void main(String args[]){
Link l = new Link();
l.addNode(1);
l.addNode(2);
l.addNode(4);
l.addNode(4);
l.addNode(5);
l.addNode(7);
System.out.println("===========================");
//l.printNode();
System.out.println(l.searchNode(5));
}
}
访问外部类的实例成员用OuterClass.this.member这种方式访问(当内部类和外部类出现同名成员变量时尤其必要)。
访问外部类的静态成员,直接用类名OuterClass.member就OK了。