java调用内部类(java内部类调用外部类方法)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java调用内部类,以及java内部类调用外部类方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

java 主方法怎么调用内部类的方法

System.out.println(x);//这个是55

System.out.println(In.x);//这个是9

楼主这两行是对的,楼上是不用兄弟认为人家这儿错了?

1,后面那个是无法做到的那个x是方法 的局部变量,在进入方法时被推到栈里,方法结束后就出栈了。除非有方式可以跑一个在主方法中的线程监控当前栈中变量,就像是Debug一样,我也研究好久这个,不过没发现有。

2,

也像1一样没有侵入性,你可以用字节码框架去操作类,动态地改变方法的行为,也就是说你可以在main方法中用程序语言去改变doit(x)方法里所做的事情。

3,

再侵入点儿,你可以传进那个doit(int)方法一个Callback, 你明白我意思?给你看个回调式:

public class HelloJava{

private interface Listener{

public void listenDoit(int x);

}

private static int x=55;

private class In{

private Listener listener;

private static final int x=9;

public In(Listener listener){this.listener=listener;}

public void doit(int x){

listener.listenDoit(x);

x=6;//这个X和上一行的应该是同一个吧?怎么在主方法里输出这个量?

listener.listenDoit(x);

HelloJava.this.x++;

}

}

public static void main(String[] args){

System.out.println(x);//这个是55

System.out.println(In.x);//这个是9

In in =new HelloJava().new In(new Listener(){

@Override

public void listenDoit(int x) {

System.out.println(x);

}});

in.doit(0);

System.out.println(x);//这个是55

System.out.println(In.x);//这个是10

}

}

还有许多方式可以做到,比如代理模式等等,不过都大同小异。该方法好处是不改变方法的原定义模型。如返回值从void改成int,如果doit的返回值本身就是String,要返回个其他的东西,怎么去改变返回值完成?

另外运行一下会发现最后两行输出不是55

10,

而是56,

9,你就知道HelloJava.this.x++;做的是什么了。

4,然后就是楼上朋友们都说的方式,返回值。

Java在外界如何调用局部内部类

内部类和成员变量一样,通过外部类的实例调用内部类。

可以先创建外部类实例。

用外部类实例调用内部类构造方法创建内部类实例。

再用这个内部类实例调用内部类成员方法。

  A a=new A();

  A.B b=a.new B();

  b.do1();//do是关键字,所以这里在do后面加了个1,否则无法编译。

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怎么调用另一个类中的方法中的内部类中的方法?

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外部类main方法调用内部类

main方法是主函数,是程序的入口,调用内部类,首先需要它的外部类,然后才可以获得。

jsp页面上如何调用java类里的内部类

1、新建一个项目,在src文件夹下添加一个包:如:test

2、再在包中添加一个类:如

package test;

public class conDatabase {

public String con(){

return "success";

}

}

3、在jsp文件的开头引入

%@ page import= "test.* "%

4、在body /body中添加相应的java代码,如:

%

String str;

conDatabase cd =new conDatabase();

%

%=cd.con() %

关于java调用内部类和java内部类调用外部类方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-03-29 13:03:41
收藏
分享
海报
42
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了