包含java中是怎樣通過類名的詞條

本文目錄一覽:

java中如何實現由類名動態創建對象

首先用 Class.forName(完整類名)獲得一個Class對象clazz,然後調用Class對象clazz的newInstance()方法得到一個對象。例如:

package kown.reflect;

public class ReflectTest

{

    public static void main(String[] args)

    {

        try

        {

            Class? clazz = Class.forName(“kown.reflect.Show”);

            Show show = (Show) clazz.newInstance();

            show.test();

        } catch (ClassNotFoundException e)

        {

            e.printStackTrace();

        } catch (InstantiationException e)

        {

            e.printStackTrace();

        } catch (IllegalAccessException e)

        {

            e.printStackTrace();

        }

    }

}

class Show

{

    public void test()

    {

        System.out.println(“hello world!”);

    }

}

其中”kown.reflect.Show”是完整類名,就是包名加類的名字。

java怎麼根據類名稱得到一個類型

Java 提供了Class類來通過類名獲取對象。

下面請看示例:

先聲明一個Userinfo.java類。

public class Userinfo {

private String name;

private String password;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

聲明一個主類。

public class Test {

public static void main(String[] args) throws Exception {

@SuppressWarnings(“unchecked”)

ClassUserinfo c = (ClassUserinfo) Class.forName(“Userinfo”);

//通過newInstance()獲取對象實例。

Userinfo u = c.newInstance();

try {

System.out.println(Class.forName(“Userinfo”));

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

}

java如何通過類型名得到具體的類型

只需要得到類型

Class a=Class.forName(“String”);

Class b=Class.forName(“Date”);

如果還需要根據得到的類型強制轉換的話jdk1.5之前的版本不支持,1.5以後可以使用泛型

java里如何根據類名(String)返回類

你說的根據一個字元串要得到一個類,在Java中只能使用反射機制了。反射機制很有趣的,豬名的框架spring就是大量用的反射。你可以百度Java反射機制,文章很多的。如果你不用反射技術,只能如下:

public Object getClassByName(String className){

if(className.equals(“A”)){

return new A();

}else if(className.equals(“B”)){

return new B();

}

}

在JAVA中靜態變數可以通過”類名.變數名”的方式來訪問是什麼意思.可不可以舉個例子

比如

class AB{

public static int a=0;

public int b=1;

}這個類

訪問a的話 可以直接用 AB.a 而不需要實例一個AB對象而訪問b的話需要 AB ab=new AB();先得到一個AB的實例 再用ab.b;才能訪問。

在java中可以用類名.方法名調用方法嗎?一般不是用對象名調用方法嗎?

靜態方法可以使用類名.方法名進行調用

舉例

class A{

void print(){

System.out.println(“你好”);

}

static void getNum(){

System.out.println(“2+6=”+(2+6));

}

}

public class DemoTest {

public static void main(String[] args) {

A.getNum();//靜態方法, 可以 類名.方法名直接調用

A a = new A();

a.print();//非靜態方法需要實例對象來調用

a.getNum();//靜態方法也可以實例對象來調用,但是不推薦這種方式調用靜態方法

}

}

輸出

2+6=8

你好

2+6=8

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189898.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 13:52
下一篇 2024-11-29 13:52

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論