当前位置:首页 » 密码管理 » java如何访问内部类

java如何访问内部类

发布时间: 2023-08-22 10:45:34

java里面怎样通过多个外部方法访问一个内部类

外部类访问内部类要创建内部类的对象才能访问内部类的成员;
内部类可以直接访问外部类的成员
package com.test;

public class Outer {
public class Inner{
int a;
int b;
}

public void fun(){
int a = new Inner().a;
}
public void fun2(){
int b = new Inner().b;
}
}

Ⅱ Java外部类怎么访问内部类的方法和成员呢可以在外部类创建内部类的实例化对象吗

是可以的,付代码说明:

packagecom.demo;

publicclassMain{

publicstaticvoidmain(String[]args){

//非静态内部类实例对象无法独立存在,必须依赖于一个外部类的实例对象
//所以必须先实例化一个外部类对象
Demodemo=newDemo();

//因为非静态内部类也是类的非静态成员,所以可以用对象.来访问
//下面用外部类对象.内部类构造器来创建内部类对象
Demo.InnerDemoinnerDemo=demo.newInnerDemo();

innerDemo.show();
}

}

/**
*一个外部类
*/
classDemo{

/**
*内部类,这里的内部类是非静态的。
*
*实例化静态内部类很简单,直接类名.内部类名,这里不多说。
*/
publicclassInnerDemo{

/**
*内部类的一个方法
*/
publicvoidshow(){
System.out.println("这是一个内部类的方法");
}

}

}

Ⅲ java外部类怎样调用内部类方法

你这里面有两个错:
1、Leis内部类是非静态类,不能在静态方法里初始化,即第三行Leis x=new Leis();报错,可以把Leis类改成静态类,即
public static class Leis{
......
}

2、Leis()是Leis类的构造函数,不能在第4行x.Leis()显示调用

一句话:静态方法里不能访问非静态内部类。但你可以在外部类的一个成员方法里访问非静态内部类,然后你再在静态方法里初始化外部类,通过外部类来访问非静态内部类。

Ⅳ java中我把外部类方法私有了 内部类如何访问该方法 代码如下

private int x=3;
int a;
static class Inner
{
int x = 4;

public void function() {
int x = 6;
System.out.println(x);
System.out.println(this.x);
// System.out.println(Outer.this.x);//内部类可以直接访问外部类中的成员,包括私有。(访问私有)
// method();//内部类可以直接访问外部类中的成员,包括私有。(该访问成员)

}
}
public static void main(String[] args){
new Inner().function();
}
只能这样做,把内部类改成 静态的 直接new一个类 调方法

Ⅳ java内部类怎么使用

1.内部类的方法可以访问它所在的外部类中的所有域,包括私有型别的;
2.对于同一个包中的其它类它是隐藏的;
3. 匿名的内部类可以让我们很方便的定义事件响应(call back),这在GUI编程中很常见
interface OutInterface{ //定义一个接口 public void f(); } public class InterfaceInner { //主类 public static void main(String args[]){ OuterClass2 out=new OuterClass2(); OutInterface outinter=out.doit(); outinter.f(); } } class OuterClass2{ //定义一个内部类,并且接口OutInterface private class InnerClass implements OutInterface{ InnerClass(String s){ System.out.println(s); } public void f(){ System.out.println("访问内部类中的f()方法"); } } public OutInterface doit(){ //方法返回接口 return new InnerClass("访问内部类构造方法"); } }

Ⅵ Java如何调用内部类的方法

在其他类中创建内部类的对象时,必须要使用外部类的实例来创建。比如类B是类A的内部类,则语句A.B=new A.B()将是错误的。正确的方法是先创建一个类A的对象,比如A ma=new ma();然后再用这个对象来创建内部类的实例,比如A.B mab=ma.new B();这里要注意后面的语法ma.new B()。也可以把这两步合为一步,比如A.B mab=new A().new B();注意,这里使用了两个new运算符,如果只有一个将是错误的,比如A.B mab=new A().B();是错误的,new A().B()语句JAVA会理解为创建一个无名的引用,然后由这个引用调用类A中的B()函数。如果需要调用的构造函数不是默认的,则可以这样创建比如A.B mab=new A(2).new B();或者分为两步A ma=new A(2); A.B mab=ma.new B();

而且我也怕是不是会重新建个棋盘,那就不行了!
这个你可以放心,不会创建两个棋盘,下面举例验证

public class A2 extends JFrame {
public static void main(String[] args) {
A ma=new A(); //可以看到在这里并没有创建内部类,也就是说内部类中的bbb并没有输出
A.A1 ma1=ma.new A1(); //调用内部类的方法,当然内部类如果有带参数构造函数,则还应在内部类中加上参数。
ma1.f();
}}

class A{
A(){System.out.println("aaa");}
class A1{
A1(){System.out.println("bbb");}
public void f(){System.out.println("kkk");}}

}

热点内容
模具编程多少钱一个月 发布:2025-03-05 02:52:34 浏览:143
安卓拍照哪个 发布:2025-03-05 02:52:24 浏览:359
win7打开ftp 发布:2025-03-05 02:40:49 浏览:417
三国战记安卓版和苹果哪个好 发布:2025-03-05 02:37:26 浏览:123
win7怎么取消文件加密 发布:2025-03-05 02:37:17 浏览:196
小米max存储设置 发布:2025-03-05 02:34:24 浏览:166
简单游的脚本保护器 发布:2025-03-05 02:34:21 浏览:522
安卓系统如何改界面字体 发布:2025-03-05 02:17:54 浏览:761
新魔百盒m401a密码是多少 发布:2025-03-05 02:12:51 浏览:421
万网数据库连接 发布:2025-03-05 01:55:46 浏览:123