zoukankan      html  css  js  c++  java
  • 忘羡的Day7!

    今天所学!!!
    获得类的基本信息的常用方法:
    getName() 获得类名
    getPackage() 获得包名
    isInterface() 是否为接口
    isPrimitive() 是否为基本类型
    isArray() 是否为数组
    getSuperclass() 获得父类的Class对象
    代码如下:
    `package ekt;

    public class Demo1 {
    public static void main(String[] args) {
    String s = new String("hello");
    Class xjy=s.getClass();
    /* System.out.println("类名:"+xjy.getName());
    System.out.println("包名:" + xjy.getPackage());
    System.out.println("是否为接口:" + xjy.isInterface());
    System.out.println("是否为基本类型:" + xjy.isPrimitive());
    System.out.println("是否为数组:" + xjy.isArray());
    System.out.println("String类的父类:" + xjy.getSuperclass());

        Class xjy2=String.class;
        System.out.println("类名:" + xjy2.getName());
        System.out.println("包名:" + xjy2.getPackage());
        System.out.println("是否为接口:" + xjy2.isInterface());
        System.out.println("是否为基本类型:" + xjy2.isPrimitive());
        System.out.println("是否为数组:" + xjy2.isArray());
        System.out.println("String类的父类:" + xjy2.getSuperclass());
    
    
        System.out.println(xjy == xjy2);
    
        int a = 100;
        System.out.println(int.class);*/
    }
    

    }

    `package ekt;

    public class Demo4 {
    public static void main(String[] args) {
    Class xjy;
    ClassLoader xj,xj1;
    xjy=String.class;
    xj=xjy.getClassLoader();
    System.out.println("加载String类对象的加载器:" +xj);
    System.out.println("&&&&&&&&&&&&&&&&&");
    xjy=Demo4.class;
    xj=xjy.getClassLoader();
    System.out.println("加载Demo4类对象的类加载器:" + xj);
    while(xj!=null) {
    xj1 = xj;
    xj = xj1.getParent();//得到父加载器
    System.out.println(xj1+"的父加载器是:" + xj);
    }
    }
    }`

    预习!!!
    回顾:
    什么时候会加载一个类的Class对象?它有什么用?
    Class对象中的信息从何而来?
    数组是否也有Class对象?
    ClassLoader有什么用?
    ClassLoader分类?
    详细分析类的运行流程。
    一个类在内存中有几个Class对象?
    预习:
    1.理解JAVA反射原理
    2.运用反射API完成如下操作
    1.动态查看类的信息
    2.动态新建类的对象
    3.运行时调用methods
    4.运行时变更fields内容
    5.动态创建数组

    技术总结:以下情况,会加载Class对象:
    1.使用new关键字创建对象时

    2.通过反射创建对象是

    3.调用某个类的static方法时

    4.调用某个类的static属性时

    5.初始化某个类的子类时候

    6.某个类标明为main()函数类(启动类)

    技术总结
    一个类的类对象是唯一的
    已知对象的实例可以通过getClass()的到类对象
    已知基本类型可以通过class的到类对象
    加载子类的时候,它会去查父类有没有加载,它会先去加载父类然后加载子类

    心得
    第一点:工欲善其事必先利其器,先把基础学扎实才是王道;欲速则不达。像今天的东西很简单 但也还有点听不懂!所有要把基础学好

    第二点:百丈大楼平地起,就因为是打了很好的地基才能撑起这百丈大楼;所以切勿好逸恶劳想着一步登天;扎扎实实,一步一个脚印,才是硬道理。给自己定一个学习计划(不会可以百度,可以问老师),按照学习计划进行学习。

    第三点:好记性不如烂笔头,记性再好不常看加深记忆总会有遗忘的,所以记录下来是一个很好的方式;实践出真理,书看得再多而不去敲代码是学不全编程的,要多实实际操作,有种记忆叫做肌肉记忆;学习编程最好的方法就是记不如写,写不如做;学习的过程中不能只背不记,不能只记不做,一定要把书上的例子亲手敲到电脑上实践,千万不要照抄,更不要复制粘贴;还有就是一遍不行就敲两遍熟悉为止,熟能生巧;看得懂代码,不代表会写代码。
    这也是我们老邓所说的!千万不要复制 要不然没点作用!

    第四点:精益求精,当你用代码敲打到一半却发现自己还可以有更好或者改进的方法时,请不要马上停手;尽快将余下的部分完成以保证这个代码的完整性!

    第五点:勤学好问,不是说一有问题就问,而是遇到问题,先自己想办法解决,查查文档,百度等;然后在问你可以问的人,或者百度发帖问什么的。

    以为五点 老邓也都说过 自己总结了以上五点 虽然每个人都知道 但是每个人都能做到嘛?我希望自己和你们都能做到

  • 相关阅读:
    LeetCode数学系列(3)——快速幂算法(50题)
    LeetCode树系列(3)——200题岛屿数量
    Arrays.sort()详解
    图表示学习系列(1)——GCN学习笔记:第一部分,详细讲解GCN
    LeetCode动态规划系列(3)——编辑距离问题求解
    深度学习系列(9)——node2vec算法中的alias采样介绍
    LeetCode数学系列(2)——解决约瑟夫问题
    Java数据结构系列(4)——队列常用方法
    LeetCode树系列(1)——广度搜索应用,图的BFS
    LeetCode树系列(2)——深度搜索运用:LeetCode695题详解
  • 原文地址:https://www.cnblogs.com/xjyboke/p/13540284.html
Copyright © 2011-2022 走看看