全网整合营销服务商

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

免费咨询热线: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 


相关文章: c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  建站为何优先选择香港服务器?  如何自定义建站之星模板颜色并下载新样式?  教学网站制作软件,学习*后期制作的网站有哪些?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  制作网站的软件免费下载,免费制作app哪个平台好?  网站制作报价单模板图片,小松挖机官方网站报价?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  实例解析angularjs的filter过滤器  官网建站费用明细查询_企业建站套餐价格及收费标准指南  深入理解Android中的xmlns:tools属性  如何选择高效稳定的ISP建站解决方案?  建站之星后台密码如何安全设置与找回?  如何在Windows 2008云服务器安全搭建网站?  建站之星如何开启自定义404页面避免用户流失?  如何高效利用亚马逊云主机搭建企业网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  北京网站制作公司哪家好一点,北京租房网站有哪些?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何通过老薛主机一键快速建站?  Swift开发中switch语句值绑定模式  如何用虚拟主机快速搭建网站?详细步骤解析  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  深圳网站制作平台,深圳市做网站好的公司有哪些?  电商网站制作公司有哪些,1688网是什么意思?  股票网站制作软件,网上股票怎么开户?  如何快速搭建支持数据库操作的智能建站平台?  宁波免费建站如何选择可靠模板与平台?  建站之星多图banner生成与模板自定义指南  电商网站制作价格怎么算,网上拍卖流程以及规则?  西安专业网站制作公司有哪些,陕西省建行官方网站?  常州企业建站如何选择最佳模板?  详解jQuery停止动画——stop()方法的使用  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何在建站主机中优化服务器配置?  如何在建站之星绑定自定义域名?  宝塔新建站点为何无法访问?如何排查?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站之星安装步骤有哪些常见问题?  如何在IIS7上新建站点并设置安全权限?  定制建站是什么?如何实现个性化需求?  如何在阿里云ECS服务器部署织梦CMS网站?  建站之星如何防范黑客攻击与数据泄露?  如何在阿里云通过域名搭建网站?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  大同网页,大同瑞慈医院官网?  简历在线制作网站免费,免费下载个人简历的网站是哪些? 

您的项目需求

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