JAVA实例化class的三种方式

不多说  直接上例子

package org.lxh.demo15.getclassdemo ;
class X{
};
public class GetClassDemo02{
    public static void main(String args[]){
        Class<?> c1 = null ;        // 指定泛型
        Class<?> c2 = null ;        // 指定泛型
        Class<?> c3 = null ;        // 指定泛型
        try{
            // 以下的操作形式是在开发中最常用的一种形式
            c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ;
        }catch(ClassNotFoundException e){
            e.printStackTrace() ;
        }
        c2 = new X().getClass() ;        // 通过Object类中的方法实例化
        c3 = X.class ;    // 通过类.class实例化
        System.out.println("类名称:" + c1.getName())  ;    // 得到类的名称
        System.out.println("类名称:" + c2.getName())  ;    // 得到类的名称
        System.out.println("类名称:" + c3.getName())  ;    // 得到类的名称
    }
};
时间: 2024-08-08 06:21:46

JAVA实例化class的三种方式的相关文章

Java实现线程的三种方式和区别

Java实现线程的三种方式和区别 Java实现线程的三种方式: 继承Thread 实现Runnable接口 实现Callable接口 区别: 第一种方式继承Thread就不能继承其他类了,后面两种可以: 使用后两种方式可以多个线程共享一个target: Callable比Runnable多一个返回值,并且call()方法可以抛出异常: 访问线程名,第一种直接使用this.getName(),后两种使用Thread.currentThread().getName(). 下面我们通过代码来看一下实现

java多线程开启的三种方式

1.继承Thread类,新建一个当前类对象,并且运行其start()方法 1 package com.xiaostudy.thread; 2 3 /** 4 * @desc 第一种开启线程的方式 5 * @author xiaostudy 6 * 7 */ 8 public class Demo1_Thread extends Thread { 9 10 public void run() { 11 for (int i = 0; i < 10; i++) { 12 System.out.pri

java创建线程的三种方式及其对比

Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.thread; public class FirstThreadTest extends Thread{ int i = 0; //重写run方法,run方法的方

[OpenSource]浅谈.Net和Java互相调用的三种方式

在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个主要阵营,所以Java.和Net之间的整合是大型应用开发过程中经常会面临一个问题. 目前Java和.Net之间的整合主要有三种思路和做法(经过几天的查阅,目前我就看到了这三种方式,可能还有其他的方法): 1)基于通讯协议的整合 基于通讯协议的整合方式,最容易被人首先想到,简单的方式可以通过Web S

浅谈.Net和Java互相调用的三种方式

在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两个主要阵营,所以Java.和Net之间的整合是大型应用开发过程中经常会面临一个问题. 目前Java和.Net之间的整合主要有三种思路和做法(经过几天的查阅,目前我就看到了这三种方式,可能还有其他的方法): 1)基于通讯协议的整合 基于通讯协议的整合方式,最容易被人首先想到,简单的方式可以通过Web

java创建线程的三种方式及其对照

Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类.并重写该类的run方法,该run方法的方法体就代表了线程要完毕的任务.因此把run()方法称为运行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.thread; public class FirstThreadTest extends Thread{ int i = 0; //重写run方法.run方法的方

java数组扩增的三种方式

java数组声明的时候必须声明其长度,但当我们想对数组进行扩增的时候该怎么办呢? 下面三种方式都可以进行扩增,最后一种也最为方便. 1 /** 2 * 手动循环扩增 3 */ 4 int[] arr = { 1, 2, 3 }; 5 int[] tempArray = new int[arr.length * 2]; 6 for (int i = 0; i < arr.length; i++) { 7 tempArray[i] = arr[i]; 8 } 9 //tempArray = { 1,

js对象实例化的常见三种方式

三种常见模式:工厂模式,构造函数模式,原型模式 <span style="font-size:18px;"><!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Object</title> </head> <body> <h1>创建对象常见的

java数组初始化的三种方式

  //第一种 int[] is= new int[3]; is[0]=1; is[1]=2; is[2]=3; //第二种 int[] is2= {1,2,3}; //第三种 int[] is3= new int[]{1,2,3}; //我个人比较喜欢第三种方式,比较容易阅读,并且用起来代码不啰嗦,重要的是看起来比较顺眼..