全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 实例化类详解及简单实例

 Java 实例化类的方法

  Java中,类的实例化方法有四种途径:

1)使用new操作符

2)调用Class对象的newInstance()方法

3)调用clone()方法,对现有实例的拷贝

4)通过ObjectInputStream的readObject()方法反序列化类

1.ClassInstance.java

import java.io.*;

class ClassInstance implements Cloneable, Serializable {
  private String str = "测试...";
  public void fun(){
    System.out.println(str);
  }
  public ClassInstance(String str){
    System.out.println("有参类的实例化");
    this.str += str; 
  }
  public ClassInstance(){
    System.out.println("无参类的实例化");
  }
  public Object clone(){
    return this;
  }
}

2.ClassInstanceTest.java

import java.io.*;
import java.lang.reflect.*;

public class ClassInstanceTest{
  public static void main(String[] args) throws ClassNotFoundException, InstantiationException,
      IllegalAccessException, IOException,InvocationTargetException, NoSuchMethodException{
    //第一种类的实例化方式
    ClassInstance ci01 = new ClassInstance("01");
    ci01.fun();

    //第二种类的实例化方式
    ClassInstance ci02 = (ClassInstance) Class.forName("ClassInstance").newInstance();
    ci02.fun();

    //第三种类的实例化方式
    ClassInstance ci03 = (ClassInstance) ci01.clone();
    ci03.fun();

    //第四种类的实例化方式
    FileOutputStream fos = new FileOutputStream("ci.tmp");
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(ci01);
    oos.close();
    fos.close();
    
    FileInputStream fis = new FileInputStream("ci.tmp");
    ObjectInputStream ois = new ObjectInputStream(fis);
    
    ClassInstance ci04 = (ClassInstance) ois.readObject();
    ois.close();
    fis.close();
    
    ci04.fun();
    System.out.println("--------------------额外测试--------------------");
    ClassInstance ci05 = null;
    //额外的思考 在第二种类实例化的方式中有没有一种方法实现有参数的构造方式
    //获得类的构造信息
    Constructor[] ctor = Class.forName("ClassInstance").getDeclaredConstructors();
    //找到我们需要的构造方法
    for(int i=0;i<ctor.length;i++ ){
      Class[] cl = ctor[i].getParameterTypes();
      if(cl.length == 1){
        //实例化对象
        ci05 = (ClassInstance) Class.forName("ClassInstance").getConstructor(cl).newInstance(new Object[]{"05"});
      }
    }
    ci05.fun();
  }
}

 3.输出结果

有参类的实例化
测试...01
无参类的实例化
测试...
测试...01
测试...01
-------------------额外测试--------------------
有参类的实例化
测试...05

   除了这几种情况可以实例化一个Java类对象外,隐式调用实例化也是利用了已上集中情况。例如常见的方法:

public class ClassInstance{
  public ClassInstance(){
  }
  public ClassInstance getInstance(){
    return new ClassInstance();
  }
}

    通过观察结果,我们发现无论哪一种方式必须经过的一步---调用构造方法。无论怎样构造函数作为初始化类的意义怎样都不会改变。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 实例化类  # 实例化类详解及实例  # 实例化类实例代码  # Java实例化一个抽象类对象的方法教程  # Java类初始化和实例化中的2个“雷区”  # Java实例化类详解  # 浅谈Java中类的实例化步骤  # 简单了解java类的初始化以及类的实例化  # Java子类对象的实例化过程分析  # Java中类的定义与实例化详解  # 中有  # 希望能  # 几种  # 四种  # 谢谢大家  # 哪一种  # 已上  # 序列化  # 隐式  # System  # println  # str  # fun  # private  # String  # void  # public  # 有参类  # reflect  # lang 


相关文章: 公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在宝塔面板创建新站点?  全景视频制作网站有哪些,全景图怎么做成网页?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何在Windows虚拟主机上快速搭建网站?  建站之星官网登录失败?如何快速解决?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  如何基于云服务器快速搭建网站及云盘系统?  建站主机选购指南:核心配置优化与品牌推荐方案  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  专业网站建设制作报价,网页设计制作要考什么证?  如何通过cPanel快速搭建网站?  小型网站制作HTML,*游戏网站怎么搭建?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  建站ABC备案流程中有哪些关键注意事项?  开心动漫网站制作软件下载,十分开心动画为何停播?  linux top下的 minerd 木马清除方法  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  山东网站制作公司有哪些,山东大源集团官网?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何有效防御Web建站篡改攻击?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何在阿里云虚拟服务器快速搭建网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机选购指南:核心配置与性价比推荐解析  如何用虚拟主机快速搭建网站?详细步骤解析  金*站制作公司有哪些,金华教育集团官网?  建站之星如何实现PC+手机+微信网站五合一建站?  江苏网站制作公司有哪些,江苏书法考级官方网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何选择PHP开源工具快速搭建网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何配置WinSCP新建站点的密钥验证步骤?  建站之星安装失败:服务器环境不兼容?  建站主机选哪种环境更利于SEO优化?  如何获取上海专业网站定制建站电话?  模具网站制作流程,如何找模具客户?  如何在IIS7中新建站点?详细步骤解析  建站与域名管理如何高效结合?  网站制作公司排行榜,四大门户网站排名?  音响网站制作视频教程,隆霸音响官方网站?  定制建站价位费用解析与套餐推荐全攻略  h5网站制作工具有哪些,h5页面制作工具有哪些?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何通过虚拟主机快速搭建个人网站?  建站之星微信建站一键生成小程序+多端营销系统 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。