JAVA CLASS类的初步认识与基本用法

僤鯓⒐⒋嵵緔 提交于 2020-01-10 10:28:45

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

首先咱们先来说下这个类在JAVA里充当类什么角色:首先这个类跟Objct是没关系的,但是他的对象却全部有关系;

  1. 相当于玩游戏里的外挂

  2. 相当于打外国游戏时你买的代理

  3. 相当于你美国的特工

    以上这几个比较适用初学者初步对CLASS这个类的理解

总之这个类就是充当强盗的角色,强取豪夺别人东西;

接下来写个例子,结合我这几句解释相信每个初学者就能知道到底什么是CLASS了

package exp
class A{
 private int i=0;
    private A(int i){
     this.i=i;
    }
    private void f(){
    System.out.print(i+"");
    }
}

像上面写的这个类,要是在我们以前,除非用单实例模式来使用它,也就是在写的时候要主动添加几个方法进去让别人去使用它,不然就没法使用了;

但是有了CLASS这个强盗之后,妈妈再也不用担心我使用不了那个类了。

记得用全部私有的类来测试自己,就像我上面写的一样,像其他人写公有的来测试有时候会错得自己都不知道已经错了

接下来一起看看怎么用CLASS来使用吧:下面是几个最基本的用法

public class B{
    public static void main (String[] args){
        Class cl=Class.forName("exp.A");//写类全名
        //上面这部是取出A这个类的Class对象-----》有点拗口,你可以理解为把A这个类拿到手
          Constructor ct=cl.getDeclaredConstructor(int.class);//口号内传参数的class类型
          //上面这步是取出A这个类的私有构造器
          ct.setAccessible(true);
          //因为ct是私有构造器,所以取出来后要改下权限,让ct变成可以使用的
          A a=(A) ct.newInstance(5);//括号里传参数进去
          //上面这步就是把A类new出来了
          Field f=cl.getDeclaredField("i");
          //取出A类里面的 i 这个元素
          f.setAccessible(true);
          //因为i 这个元素也是私有的,所以也要改下权限,让i变成可以使用
          int i= f.getInt(a);
          //获取A类里i的值
           f.set(a, 10);
           //能取到当然也可以改变咯,上面这步就是用来直接设定i的值
          Method mt=cl.getDeclaredMehod("f");//填方法名
          //上面这部就是取到A类的f方法
          mt.setAccessible(true);
          //这部什么意思不用再说了吧
          mt.invoke();
          //上面的这个步就是使用A类的f方法了
          
    }
}

通过这个例子相信每位(到此一游)的同学都能对CLASS这个类有个自己概念类吧

这个类还有许多功能,其他功能就不一一介绍类,既然是学习就要有专研精神,剩下的功能留给大家自己专研吧

注意:看着我写的例子自己跟着写一遍。

学编程,无技巧,只在乎快慢,欲快多动手。

如果你觉得这个对你有用,请留个评论再走吧!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!