「java创建外部类对象」java在一个类中创建另一个类的对象

博主:adminadmin 2022-11-30 15:07:08 48

今天给各位分享java创建外部类对象的知识,其中也会对java在一个类中创建另一个类的对象进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java在main方法中创建对象和main方法外创建对象有什么区别

在main方法中创建对象,只有这个方法才可以使用这个对象,别的方法使用必须要在创建一个对象

在main方法外创建别的类对象,首先得在main方法中创建当前类的对象,这时候才会加载出你在main方法外创建的别的类的对象,这样类中其他方法才可以使用这个对象,如果你没有在main方法中创建当前类的对象,在其他方法中也不能使用这个对象

package com.unique.java;

public class TestDemo {

Zoo zoo = new Zoo(1);

public static void main(String[] args) {

TestDemo testDemo = new TestDemo();

Zoo zoo1 = new Zoo(2);

}

}

class Zoo{

Zoo(int idx){

System.out.println("Zoo("+idx+")");

}

}

输出

Zoo(1)

Zoo(2)

//----------------------------------------------------------------------------------------

package com.unique.java;

public class TestDemo {

Zoo zoo = new Zoo(1);

public static void main(String[] args) {

//TestDemo testDemo = new TestDemo();

Zoo zoo1 = new Zoo(2);

}

}

class Zoo{

Zoo(int idx){

System.out.println("Zoo("+idx+")");

}

}

}

输出:

Zoo(2)

JAVA问题,创建局部内部类对象可以(外部类对象.new内部局部类)这么写吗?

首先,如果你要在外部类中创建内部类对象,直接new就行。

如果你要在这个外部类之外调用。不好意思必须通过接口调用。

至于你提的问题,java中好像没这么玩的。下面是我以前学习时候的代码。贴出来你研究下

public class Outer {

    public static IA test() {

        String addr = "北京";

        class Inner implements IA {

            private int index;

            @Override

            public void fun() {

                System.out.println("局部内部类的实例方法被调用,访问类中实例属性 index=" + index);

            }

            public Inner(int index) {

                this.index = index;

            }

        }

        Inner inner = new Inner(100);

        return inner;

    }

public interface IA {

    //接口中必须有你要从外界调用的方法;

    void fun();

}

public class test {

public static void main(String[] args) {

//正确的调用方法,另该内部类实现某接口(接口中必须有你要调用的方法),通过接口类型调用方法:

//能调用到局部内部类中的方法,自然也就能通过方法访问外部类对象了

IA ia = Outer.test();

ia.fun();

}

}

java创建对象是不是在类内部和外部什么位置都随便创建??谢谢

不能在类的外部,java中所有代码都是以类为单位的。类的外面只能是类。而类的里面就可以了,事实上类的里面也可以有类,嵌套类或者匿名类,这是后话了。

java中为什么主函数中可以创建外部类对象,但是创建内部类对象就报错呢?

你的内部类是static型的吗?因为main方法是static的,不能引用非static型的变量或方法。

java中为什么在主函数中创建外部类对象可以,创建内部类对象就失败了呢?2类不都是非静态的吗?

public class OuterClass {

    public static void main(String[] args) {

        OuterClass outerClass = new OuterClass();

        InnerClass innerClass = outerClass.new InnerClass();

        StaticInnerClass staticInnerClass = new StaticInnerClass();

    }

    public void foo() {

        InnerClass innerClass = new InnerClass();

        StaticInnerClass staticInnerClass = new StaticInnerClass();

    }

    public class InnerClass {

    }

    public static class StaticInnerClass {

    }

}

了解以下几点:

1:非静态内部类,必须有一个外部类的引用才能创建。

2:在外部类的非静态方法中,因为有隐含的外部类引用this,所以可以直接创建非静态内部类。

3:在外部类的静态方法中,因为没有this,所以必须先获得外部类引用,然后创建非静态内部类。

4:静态内部类,不需要外部类引用就可以直接创建。

5:同时静态的内部类,也不能直接访问外部类的非静态方法。

6:由此可以推测,非静态内部类之所以可以直接访问外部类的方法,是因为创建非静态内部类时,有一个隐含的外部类引用被传递进来。

java中访问静态内部类时为什么不能创建外部类的对象

你首先要明白new Outer().new Inner()是干什么的,这个是在外围类中穿件非静态内部类时的代码,非静态内部类必须要持有一个隐含的指向外部类的引用,所以必须先new outer再new inner,但是如果是非静态的,就无需持有外部类引用,这么写有什么道理呢?

java创建外部类对象的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java在一个类中创建另一个类的对象、java创建外部类对象的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。