「java内部类方法调用」java内部类调用外部类方法
今天给各位分享java内部类方法调用的知识,其中也会对java内部类调用外部类方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java在外界如何调用局部内部类
- 2、java内部调用内部方法的问题
- 3、java外部类怎样调用内部类方法?
- 4、Java 内部类如何被外部类调用
- 5、Java内部类怎么直接调用外部类啊?
- 6、java怎么调用另一个类中的方法中的内部类中的方法?
Java在外界如何调用局部内部类
内部类和成员变量一样,通过外部类的实例调用内部类。
可以先创建外部类实例。
用外部类实例调用内部类构造方法创建内部类实例。
再用这个内部类实例调用内部类成员方法。
A a=new A();
A.B b=a.new B();
b.do1();//do是关键字,所以这里在do后面加了个1,否则无法编译。
java内部调用内部方法的问题
Java内部调用内部方法主要是通过内部类实现。Java内部类分两种,成员内部类和方法内部类。
代码如下:
1.成员内部类
/**
* 成员内部类
*/
public class Outer {
private int outer = 1;
class Inner {
public void show() {
System.out.println("outer =" + outer);
}
}
public static void main(String[] args) {
Outer.Inner in = new Outer().new Inner();
in.show();
}
}
2.方法内部类
/**
* 方法内部类
*
*/
public class Outer2 {
private int outer = 1;
public void showOut() {
class Inner {
public void show() {
System.out.println("outer =" + outer);
}
}
new Inner().show();
}
public static void main(String[] args) {
Outer2 in = new Outer2();
in.showOut();
}
java外部类怎样调用内部类方法?
你这里面有两个错:
1、Leis内部类是非静态类,不能在静态方法里初始化,即第三行Leis x=new Leis();报错,可以把Leis类改成静态类,即
public static class Leis{
......
}
2、Leis()是Leis类的构造函数,不能在第4行x.Leis()显示调用
一句话:静态方法里不能访问非静态内部类。但你可以在外部类的一个成员方法里访问非静态内部类,然后你再在静态方法里初始化外部类,通过外部类来访问非静态内部类。
Java 内部类如何被外部类调用
服了你了,能把程序写成这样。一个java文件里可以有多个类,但只能有一个public类,而且这个类必须是外部类,不能是内部类。而且你在Test里实例化inner的方法也不对,inner的类型始终是Outer.Inner,不会因为Outer实例化而变成outer.Inner,只不过编译器还没有报出那里的错误而已。写成这样:
class Outer{
private int size=10;
class Inner{
public void doStuff(){
System.out.println(++size);
}
}
}
public class Test{
public static void main(String [] args){
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();
inner.doStuff();
}
}
Java内部类怎么直接调用外部类啊?
public class Outer{
int x;
String s = "hello";
public void test(){
System.out.print("test");
}
public class Inner{
int s = 20;
public void testInner(){
//可以直接使用外部类的成员变量和成员方法
x = 0;
test();
//如果外部类的成员变量和内部类变量重名,可以这样调用外部类的变量
Outer.this.s = "test";
//当然你可以new外部类对象 这也是没问题的
Outer o = new Outer();
o.x = 30;
o.test();
}
}
}
java怎么调用另一个类中的方法中的内部类中的方法?
class Hello {
public static void pt(){
new A().ppt();
class A {
void ppt(){//ppt()方法不能在其他类中调用,只能在pt()方法中被调用
System.out.println("hello word");
}
}
}
}
public class Test {
public static void main(String[] args){
Hello.pt();
}
}
java内部类方法调用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java内部类调用外部类方法、java内部类方法调用的信息别忘了在本站进行查找喔。