星空网 > 软件开发 > Java

Java基础之类Class使用

  大家都知道Java是一门面向对象编程语言,在Java世界里,万事万物皆对象,那个Java中怎么表示对象呢?Class

  我们知道Java中的对象都是Object类的子类,那么今天我们就一起来研究一下Java中的Class的使用。

  问一下小问题:类是对象吗?类是谁的对象?答案是:类是对象,是java.lang.Class类的实力对象。

package com.edu.hpu;public class Test {    public static void main(String[] args) {    //通过new实例化一个对象    Foo foo = new Foo();    //通过实例化对象的getClass()方法得到Class类的实例    Class c1 = foo.getClass();    //任何一个类都有一个隐含的静态变量class    Class c2 = Foo.class;    //c1、c2表示了Foo类的类类型(class type)    System.out.println(c1 == c2);        Class c3 = null;    try {      //第三种获得类的类类型的方法      c3 = Class.forName("com.edu.hpu.Foo");    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    System.out.println(c1 == c3);        try {      //通过类的类类型来创建类的实例对象      Foo c4 = (Foo) c1.newInstance();      c4.start();    } catch (InstantiationException e) {      e.printStackTrace();    } catch (IllegalAccessException e) {      e.printStackTrace();    }  }}class Foo{  public void start(){    System.out.println("Foo类");  }}

  通过上面的代码大家是不是对于Class有了一个更深入的认识,我们可以通过new关键字来创建类的实例对象,同样可以通过类的类类型来创建类的实例对象,获取类的类类型的方式以上有三种形式,他们得到的类类型只有一个,所以c1==c2==c3:true。

  经过上面的简单介绍大家是不是对于Java中的class有了一个更深入的认识,下面我们通过一个小例子为大家介绍一下类类型与类的实例在实际中的使用。

class Offices{  public static void main(String [] args){    if("Word".equals(args[0])){      Word w = new Word();      w.start();    }    if("Excel".equals(args[0])){      Excel e = new Excel();      e.start();    }  }}

  大家看一下上面的代码,当我们编译时,是否可以正常通过?这里我们需要说一下编译与运行:编译时刻加载的类是静态加载类;运行时刻加载的类是动态加载类。Class.forName("l类的全称");不仅代表了类类型,而且代表了动态加载类。上面的例子中,Word、Excel我们并不一定用的到,但是当我们编译时,如果Word、与Excel不存在,那么便会出错。所以接下来我们通过类类型动态加载类的方式来实现上面的逻辑。

class Office{  public static void main(String [] args){    try{      Class c = Class.forName(args[0]);      OfficeAble oa = (OfficeAble)c.newInstance();      oa.Write();    }catch(Exception e){e.printStackTrace();}  }}

interface OfficeAble{  public void Write();}

class Word implements OfficeAble{  public void Write(){    System.out.println("Word...start...");  }}

class Excel implements OfficeAble{  public void Write(){    System.out.println("Excel..Write..");  }}

  这样我们就可以根据需要动态的增加类,方便我们应用的功能拓展。




原标题:Java基础之类Class使用

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

跨境电商哪家国际物流公司好:https://www.goluckyvip.com/news/8365.html
物流延迟怎么解决:https://www.goluckyvip.com/news/8366.html
国际快递有哪些公司有顺丰吗:https://www.goluckyvip.com/news/8367.html
物流异常怎么解决:https://www.goluckyvip.com/news/8368.html
多渠道配送订单怎么填写:https://www.goluckyvip.com/news/8369.html
关于出口退税,外贸人必须要知道这几个问题!:https://www.goluckyvip.com/news/837.html
What?我的银行账户因为涉嫌洗钱被关闭?!:https://www.xlkjsw.com/news/36579.html
亚马逊与亚洲首富battle!这一站点卖家笑了...:https://www.xlkjsw.com/news/36580.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流