精华内容
下载资源
问答
  • 内部类实例化
    千次阅读
    2022-03-22 16:48:45
    public class Person{//外部类
        class Brain{//内部类
            
        }
    
       
        public static void main(String [] args){
             //内部类的实例化
            Person p1 = new Person();//先实例化外部类
            Brain b1 = p1.new Brain();///实例化内部类
        }
    }

    这里边儿,我们将内部类(Brain)当=近似看作外部类(Person)的一个属性,从而进行实例化。

    更多相关内容
  • java 内部类实例化方式

    万次阅读 2018-09-06 19:42:52
    1、java成员和静态内部类的使用,适用本身适用,旨在减少文件个...①java成员内部类和静态内部类实例化方式, ②内部类的方法调用方式 代码实现如下: package com.innerClass; import com.google.gson.Gso...

    1、java成员和静态内部类的使用,适用类本身适用,旨在减少文件个数和方便维护管理;

    2、匿名内部类方便不同业务实现下的灵活使用;

    3、局部内部类,跟匿名内部类相仿,但功能不同。

    本文着重讲:

    ①java成员内部类和静态内部类的实例化方式,

    ②内部类的方法调用方式

    代码实现如下:

    package com.innerClass;
    
    import com.google.gson.Gson;
    
    /**
     * Created by Liuxd on 2018-09-06.
     */
    public class TestInnerClass {
        private static final Gson gson = new Gson();
    
        public static void main(String[] args) {
            /**
             * 外部类
             */
            User user = new User();
            user.setName("Jack");
            user.setAge(22);
    
            /**
             * 创建内部类对象
             */
            User.BankInfo bankInfo = user.new BankInfo();
            bankInfo.setBankName("中国工商银行");
            bankInfo.setBankNo("15801122225553669");
    
            String json = gson.toJson(user);
            System.out.println(json);
            System.out.println("---------------------------------------------------------");
    
            user.setBankInfo(bankInfo);
            json = gson.toJson(user);
            System.out.println(json);
            System.out.println("---------------------------------------------------------");
    
            /**
             * 创建静态内部类对象
             */
            User.Org org = new User.Org();
            org.setOrgCode("ceo");
            org.setOrgName("总裁办公室");
            org.print();
    
            System.out.println("---------------------------------------------------------");
    
            user.setOrg(org);
            json = gson.toJson(user);
            System.out.println(json);
    
        }
    
    }
    

    外部类/内部类:

    package com.innerClass;
    
    /**
     * Created by Liuxd on 2018-09-06.
     */
    public class User {
        private String name;
        private int age;
    
        private BankInfo bankInfo;
    
        private Org org;
    
        class BankInfo {
            private String bankNo;
            private String bankName;
    
            public String getBankNo() {
                return bankNo;
            }
    
            public void setBankNo(String bankNo) {
                this.bankNo = bankNo;
            }
    
            public String getBankName() {
                return bankName;
            }
    
            public void setBankName(String bankName) {
                this.bankName = bankName;
            }
        }
    
        static class Org {
            private String orgCode = "";
            private String orgName = "";
    
            public void print() {
                System.out.println("机构编码:" + orgCode + ",机构名称:" + orgName);
            }
    
            public String getOrgCode() {
                return orgCode;
            }
    
            public void setOrgCode(String orgCode) {
                this.orgCode = orgCode;
            }
    
            public String getOrgName() {
                return orgName;
            }
    
            public void setOrgName(String orgName) {
                this.orgName = orgName;
            }
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public BankInfo getBankInfo() {
            return bankInfo;
        }
    
        public void setBankInfo(BankInfo bankInfo) {
            this.bankInfo = bankInfo;
        }
    
        public Org getOrg() {
            return org;
        }
    
        public void setOrg(Org org) {
            this.org = org;
        }
    }
    

    打印结果:

     

    {"name":"Jack","age":22}
    ---------------------------------------------------------
    {"name":"Jack","age":22,"bankInfo":{"bankNo":"15801122225553669","bankName":"中国工商银行"}}
    ---------------------------------------------------------
    机构编码:ceo,机构名称:总裁办公室
    ---------------------------------------------------------
    {"name":"Jack","age":22,"bankInfo":{"bankNo":"15801122225553669","bankName":"中国工商银行"},"org":{"orgCode":"ceo","orgName":"总裁办公室"}}
    

     

    展开全文
  • Java中内部类实例化

    2013-06-09 13:48:06
    Java 内部类 实例化 在Outer的静态方法中实例化内部类 在同一个包的其它实例化Outer中的内部类
  • 内部类及静态内部类实例化

    千次阅读 2021-03-10 01:12:29
    内部类实例化如果内部类未声明为static,在实例化时首先需要new一个外部的对象。并通过p.new Inner()的方式new 内部类,表明这个内部类指向该外部内部类的class类型为:Parent.Inner,而不是p.Inner,这个...

    内部类的实例化

    如果内部类未声明为static,在实例化时首先需要new一个外部类的对象。并通过p.new Inner()的方式new 内部类,表明这个内部类指向该外部类。内部类的class类型为:Parent.Inner,而不是p.Inner,这个需要和new的方式区分开。

    public class Test {

    public static void main(String[] args) {

    Parent p = new Parent();

    Parent.Inner i = p.new Inner();

    i.print();

    }

    }

    class Parent {

    class Inner {

    public void print() {

    System.out.println("xxx");

    }

    }

    }

    静态内部类的实例化

    静态内部类与普通内部类的区别在于,静态内部类的对象是不指向与某个具体的外部类对象,所以在创建对象时不需要创建外部类对象。并且在new的时候是通过

    new Parent.Inner()方式,而不是Parent.new

    Inner()。不要和内部类的实例化搞混了。class的声明和内部类是一样的,都是Parent.Inner

    public class Test {

    public static void main(String[] args) {

    Parent.Inner i = new Parent.Inner();

    i.print();

    }

    }

    class Parent {

    staticclass Inner {

    public void print() {

    System.out.println("xxx");

    }

    }

    }

    展开全文
  • java内部类实例化时报错的问题

    千次阅读 2018-11-27 10:59:46
    如果需要实例化Item时,可能会写成:Data.Item item = new Data.Item(); 但是编译器就会出现一个错误:'com.test.Data.Item' is not an enclosing class 其实这种写法是错误的,正确的方式为: Da...

    如果有一个类的结构如下:
    public class Data {
      public class Item {

      }
    };

    如果需要实例化Item类时,可能会写成:Data.Item item = new Data.Item();
    但是编译器就会出现一个错误:'com.test.Data.Item' is not an enclosing class
    其实这种写法是错误的,正确的方式为:
    Data data = new Data();
    Data.Item item = data.new Item();

    如果内部类是static的,如下:
    public class Data {
      public static class Item {

      }
    };

    那就可以直接使用如下方式来实例化:Data.Item item = new Data.Item();
     

    展开全文
  • Java | 内部类实例化

    2022-04-09 09:50:16
    查了一下资料,说在实例化内部类的时候,要写成 外部.内部类 对象名 = new 外部.内部类(); 如第16行代码所示,不需要实例化的时候,写成第4行就可以: public class NC_78 {//外部 public static void main...
  • 一、 Java内部类分类: 1.非静态成员内部类内部类没有使用static关键字修饰,并且和外部的成员变量和方法属于同一级别,这样的是非静态成员内部类(可以使用权限修饰符修饰,和final、abstract关键字修饰)。 ...
  • Java 内部类实例化

    千次阅读 2017-07-24 16:29:33
    Java内部类实例化写法感觉好怪异: public class ComboboxResponse { private List dataItems = new ArrayList(); public List getDataItems() { return dataItems; } public void setDataItems(List ...
  • Java内部类及其实例化

    千次阅读 2018-06-12 13:45:43
    在 Java 中,允许在一个(或方法、语句块)的内部定义另一个,称为内部类(Inner Class),有时也称为嵌套(Nested Class)。内部类和外层封装它的之间存在逻辑上的所属关系,一般只用在定义它的或语句块之内...
  • java内部类实例化对象

    千次阅读 多人点赞 2016-10-13 10:04:14
    //在内部类(Inner Class),可以随意的访问外部的成员, //这可让我们更好地组织管理我们的代码,增强代码的可读性 Person p = new Person(); Person s = p.new Student(); Person w = p.new Worker();...
  • java内部类实例化错误

    2013-12-01 09:41:35
    为什么静态方法里不能直接调用内部类,成员方法却可以? package com.zcl5; class Quetion1 { class ATM { int myMoney = 100; int viewMoney(){ return myMoney; } void outMoney...
  • 接口实例化——匿名内部类

    千次阅读 2018-04-27 19:03:33
    接口实例化——匿名内部类 public Interface IFly { void fly(); } public class Bird { public Bird() { } public void fly(IFly f) { f.fly(); } } public class Test { public static ...
  • Java对象实例化(匿名内部类

    千次阅读 2017-06-07 13:54:29
    静态代码块是static 关键字 + 大括号,把静态代码块儿的static关键字去掉就是实例化代码块儿,静态代码块儿在初始化的时候执行一次 实例化代码块在每次生成对象的时候都会执行(实例化代码块儿会先于构造方法执行)...
  • 1. 最基本的类实例化 创建的方法是 class 变量名:,实例化方法是 类名() ,分配属性的方法是 实例名.属性名 = 值 #(1)创建 class Item: # 创建的方法是 class 类名: pass # 不执行任何内容 #(2)实例...
  • Java使用new和反射实例化内部类对象

    千次阅读 2017-03-07 16:09:25
    java使用new和反射实例化内部类对象 前两天看到一道面试题,是关于内部类的知识,觉得很有意思,现对其详细讲解,绝对原创!~ 这道题是这样的: 根据注释填写(1),(2),(3)处的代码 public class Test{ public ...
  • java内部类实例化

    千次阅读 2016-11-19 13:04:52
    一、实例化内部类 java中的内部类如何实例化?例子: public class Animal{ class Head{ } }测试如何实例化内部类: public class TestInstanceInnerClass{ public TestInstanceInnerClass(){ Animal ...
  • Java如何在main方法中实例化内部类对象

    千次阅读 多人点赞 2019-03-11 15:33:42
    今天我在实例化一个是编译器报以下错误: No enclosing instance of type Person is accessible. Must qualify the allocation with an enclosing instance of type Person (e.g. x.new A() where x is an ...
  • python--实例化

    千次阅读 2021-01-14 18:50:08
    1、的定义和语法View Code2、self关键字self这个关键字相当于实例化对象本身(self相当于d),在实例化过程中,把自己传进去了3、函数__init__() 、__del__()在中__init__()函数叫构造函数,又叫构造方法,也可以...
  • 当我们有多个时,实例化自身的内部类很简单,直接通过类名就可以实例化。 可是当我们需要实例化同包内部类时,直接使用类名就无法直接访问内部类了,下面我用一个例子简单描述一下解决办法。 package...
  • Java静态内部类实例化问题

    万次阅读 2015-12-15 15:56:21
    静态内部类可以被实例化! 1.首先在外部中的static方法中不能使用普通内部类,因为内部类必须要与外部建立关联才能使用,可以说是同生共死。 2.我在编码过程中,需要2个共同完成一个功能,其中一个工具只...
  • 如何实现内部类实例化呢,我的代码错误Unable to instantiate application android.app.Application: java.lang.NullPointerException dev_item.class ``` public class dev_item { static public final byte ...
  • 有些时候在写一些小的项目或者demo时,为了方便或者逻辑上归类往往定义一些内部类,比如一些小型的model,各种Adapter、BroadcastReceiver等等。 例如: class A{ static class B{ public void put(){ System....
  • Java内部类和匿名内部类的用法

    万次阅读 多人点赞 2016-07-21 15:46:41
    Java内部类和匿名内部类的用法 【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51981163一、内部类: (1)内部类的同名方法 内部类可以调用外部的方法,如果内部类有同名方法...
  • 实例化servlet时出错

    千次阅读 2021-03-15 20:49:12
    这是我的index.html 这是我的web.xml`submitFormstudent.StudentSurveyFormSubmitsubmitForm/submitForm`还有我的servletpackage student; @WebServlet("/StudentSurveyFormSubmit") public class ...
  • Servletle类实例化错误

    千次阅读 多人点赞 2020-09-10 20:42:28
    Servletle类实例化错误我的探索历程环境:历程:Tomcat和Servlet HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 实例化Servlet[servlet.ServletHello]异常 描述 服务器遇到一个意外的情况,阻止它完成请求...
  • Java的抽象类实例化

    万次阅读 多人点赞 2018-03-19 14:35:37
    即如果一个含有抽象方法,则称这个为抽象。 抽象必须在前用abstract关键字修饰。因为抽象中含有无具体实现的方法,所以一般不能用抽象创建对象。 // 抽象 public abstract class ClassName { /...
  • C#——实例化

    万次阅读 多人点赞 2018-05-04 14:26:02
    是模子,确定对象将会拥有的特征(属性)和特征和行为(方法)实例化:(通过来产生对象,就叫做实例化,即一个实例就是一个对象) 1.实例化,用关键字new 语法: 实例名 = new (); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 955,128
精华内容 382,051
关键字:

内部类实例化

友情链接: stable eq.zip