「java内部类方法调用」java内部类调用外部类方法

博主:adminadmin 2023-03-23 02:33:09 906

今天给各位分享java内部类方法调用的知识,其中也会对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内部类方法调用的信息别忘了在本站进行查找喔。