前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Java创建对象的方式【仅代码记录】

Java创建对象的方式【仅代码记录】

作者头像
訾博ZiBo
发布2025-01-06 13:54:30
发布2025-01-06 13:54:30
6700
代码可运行
举报
运行总次数:0
代码可运行

一、说明

Java创建对象的方式有好几种,有:使用new关键字、Class反射调用、使用Clone方法、使用序列化、Unsafe.allocateInstance(),这里不讨论这些内容,仅做一些代码的记录;

可参考文章:

https://blog.csdn.net/Crazypokerk_/article/details/93217863

https://blog.csdn.net/u010889616/article/details/78946580

二、代码

代码语言:javascript
代码运行次数:0
复制
package com.zibo.java.february.fourth;

public class CatTest {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
        /*
         * 创建对象的三种方式:
         * 1、通过new关键字创建;
         * 2、通过Class.forName(String ClassName)和Class.newInstance()创建;
         * 3、通过Object.class和Class.newInstance()创建;
         */
        // 1、通过new关键字创建;
        Cat cat1 = new Cat();
        cat1.setName("喵咪");
        cat1.setAge(12);
        System.out.println(cat1);

        // 2、通过Class.forName(String ClassName)和Class.newInstance()创建;
        Class<?> aClass = Class.forName("com.zibo.java.february.fourth.Cat");
        Object instance = aClass.newInstance();
        if(instance instanceof Cat){
            Cat cat2 = (Cat)instance;
            cat2.setName("小喵");
            cat2.setAge(6);
            System.out.println(cat2);
        }

        // 3、通过Object.class和Class.newInstance()创建;
        Class<Cat> catClass = Cat.class;
        Cat cat3 = catClass.newInstance();
        cat3.setName("大喵");
        cat3.setAge(9);
        System.out.println(cat3);
    }
}
class Cat{
    private String name;
    private int age;

    public Cat() {
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Cat{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、说明
  • 二、代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档