首页 > 编程语言 >Java创建对象的四种方式

Java创建对象的四种方式

时间:2023-07-14 22:56:03浏览次数:39  
标签:Java String 创建对象 value new MyClass public 四种 out

1.new创建新的对象

String str = new String("str");

2.通过Java的反射机制

public static void main(String[] args) throws Exception {
        // 获取类的Class对象
       String str = (String)Class.forName("java.lang.String").newInstance();
    System.out.println(str); 
}

3.通过clone机制(克隆机制)

=========================Myclass.java===========================================
public class MyClass implements Cloneable { private int value; public MyClass(int value) { this.value = value; } public int getValue() { return value; } @Override public MyClass clone() throws CloneNotSupportedException { return (MyClass) super.clone(); } } ===========================Main.java============================================= public class Main { public static void main(String[] args) throws CloneNotSupportedException { MyClass obj1 = new MyClass(10); MyClass obj2 = obj1.clone(); System.out.println(obj1.getValue()); // 输出:10 System.out.println(obj2.getValue()); // 输出:10 } }

4.通过序列化机制

  通过序列化机制来创建新的对象。序列化是将对象转换为字节流的过程,以便可以将其存储在磁盘上或通过网络传输。反序列化则是将字节流转换回对象的过程。

===================================================================================================
import java.io.*;

public class MyClass implements Serializable {
    private int value;
public MyClass(int value) { this.value = value; } public int getValue() { return value; } private void writeObject(ObjectOutputStream out) throws IOException { out.writeInt(value * 2); } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { value = in.readInt(); } } =================================================================================================== public class Main { public static void main(String[] args) throws IOException, ClassNotFoundException { MyClass obj1 = new MyClass(10); FileOutputStream fileOut = new FileOutputStream("obj1.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(obj1); out.close(); fileOut.close(); FileInputStream fileIn = new FileInputStream("obj1.ser"); ObjectInputStream in = new ObjectInputStream(fileIn); MyClass obj2 = (MyClass) in.readObject(); in.close(); fileIn.close(); System.out.println(obj1.getValue()); // 输出:10 System.out.println(obj2.getValue()); // 输出:20 } }

 

标签:Java,String,创建对象,value,new,MyClass,public,四种,out
From: https://www.cnblogs.com/lsj4/p/17555188.html

相关文章

  • Java字符串按字符排序的方法
     Java字符串按字符排序的方法字符串排序是一种常见的编程需求,它可以让我们按照一定的规则对字符串进行比较和排列。在Java中,有多种方法可以实现字符串按字符排序,本文将介绍四种常用的方法,并给出相应的示例代码。1.使用String类的compareTo()方法String类提供了一个compareTo......
  • Java Comparator接口的介绍与使用
    JavaComparator接口的介绍与使用什么是Comparator接口?Comparator接口是一个用于比较两个对象大小的接口,它定义了一个抽象方法compare(To1,To2),根据o1和o2的大小返回一个整数值。Comparator接口位于java.util包中,它是一个泛型接口,可以指定比较的对象类型。Comparator接口的......
  • Java swing和JavaFX学习笔记
    JAVAFX与JAVASwing的区别与推荐:学习Java界面编程是选择Swing还是JavaFX?_javafxswing_莱迪娜的歌声的博客-CSDN博客swing中一些基础函数介绍:JButton按钮,按钮可以带一些图片或文字JCheckBox复选框JComBox下拉列表框,可以在下拉显示区域显示多个选项JFrame框架类......
  • 大一下java期末设计:学生信息管理系统(荣获班上第一)
    先上java代码:先上java代码:importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.*;importjava.util.Scanner;importjavax.swing.*;publicclasscs2extendsJFrame{publicstaticvoidmain(String[]args......
  • 学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学
    学科知识图谱学习平台项目:技术栈Java、Neo4j、MySQL等超详细教学0.效果展示1.安装教程安装JavaSDK11,下载前需要登录Oracle账号,下载链接,安装教程,测试是否能在命令行工具调用javajava--versionjava17.0.12021-10-19LTSJava(TM)SERuntimeEnvironment(build......
  • java8 LocalData/Time
    ISO_DATE_TIMELStringtimeString=LocalDateTime.now().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_DATE_TIME);System.out.println(timeString);//2023-07-14T18:28:23.056+08:00增加与减小LocalDatedate=LocalDate.now().minusMonths(1);LocalDa......
  • Java POM Dependency
     <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">......
  • java拦截器获取POST请求体后Controller异常Required request body is missing OR Stre
    解决办法参考文档:https://blog.csdn.net/qierkang/article/details/88544691springboot拦截器获取POST请求体后导致Controller中@RequestBody参数异常RequiredrequestbodyismissingORStreamclosed.1.为什么会报这个错?因为http的body只能读取一次。2.为什么body设计为只......
  • Java入门13(socket)
    Socket编程(网络通信)服务器端Demo(ServreSocket)​ 创建服务端时,如果不提供IP地址,则默认为本地连接(127.0.0.1),但是一定需要手动配置监听端口!publicstaticvoidmain(String[]args){//如果不提供IP地址,默认localhost//但是服务器端的端口号需要手动指令try(Serv......
  • java--String类的常用方法
    一、获取1、length()  获取字符串长度Stringstr="ahcckmvevawe";System.out.println(str.length());//输出122、charAt(intindex)  返回下标对应的字符Stringstr="ahcckmvevawe";System.out.println(str.charAt(4));//输出k3、indexOf()  返回字符对......