全网整合营销服务商

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

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


相关文章: 整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  青岛网站建设如何选择本地服务器?  建站之星logo尺寸如何设置最合适?  已有域名如何快速搭建专属网站?  名字制作网站免费,所有小说网站的名字?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  行程制作网站有哪些,第三方机票电子行程单怎么开?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  孙琪峥织梦建站教程如何优化数据库安全?  XML的“混合内容”是什么 怎么用DTD或XSD定义  黑客入侵网站服务器的常见手法有哪些?  建站VPS配置与SEO优化指南:关键词排名提升策略  表情包在线制作网站免费,表情包怎么弄?  如何选择高效稳定的ISP建站解决方案?  如何打造高效商业网站?建站目的决定转化率  建站之星上传入口如何快速找到?  小建面朝正北,A点实际方位是否存在偏差?  购物网站制作公司有哪些,哪个购物网站比较好?  如何基于云服务器快速搭建网站及云盘系统?  兔展官网 在线制作,怎样制作微信请帖?  如何快速搭建自助建站会员专属系统?  山东云建站价格为何差异显著?  长沙企业网站制作哪家好,长沙水业集团官方网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  ,sp开头的版面叫什么?  深圳网站制作案例,网页的相关名词有哪些?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  深入理解Android中的xmlns:tools属性  如何在建站之星网店版论坛获取技术支持?    c# Task.ConfigureAwait(true) 在什么场景下是必须的  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  大连网站设计制作招聘信息,大连投诉网站有哪些?  建站之星在线客服如何快速接入解答?  网站制作企业,网站的banner和导航栏是指什么?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何快速辨别茅台真假?关键步骤解析  创业网站制作流程,创业网站可靠吗?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  网站制作服务平台,有什么网站可以发布本地服务信息?  如何选择美橙互联多站合一建站方案?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何快速搭建安全的FTP站点?  linux top下的 minerd 木马清除方法  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南 

您的项目需求

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