`
aimuyou
  • 浏览: 5309 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java编程思想之类型信息小结

    博客分类:
  • JAVA
阅读更多
1.使用RTTI解决多态中的问题--知道某个泛化引用的确切类型
2.Java中的类加载是动态加载的,“当程序创建第一个对类的静态成员的引用时,就会加载这个类”,“使用new操作符创建类的新对象也会被当做对类的静态成员的引用”。类加载是就会执行static初始化,即为static变量赋值和执行static程序块。另,JDBC中用到的Class.forName("XXXX")就是为了加载类,使用.class不会引发初始化。
3.static final的编译期常量无需类初始化就可以读取,但如果不是常量,则需要类先初始化。
4.使用Class类的引用可以获取某个类的信息,其中需要注意的:
    a)newInstance()方法实现了“虚拟构造器”,但类必须要有无参构造器(可以不是默认的)。
    b)泛化Class引用中,Class<?>优于平凡的Class;Class<? extends XXXX>或Class<? super XXXX>可以强制类型检查;使用.getSuperclass()方法获取的超类后使用.newInstance()的返回值只是Object类型。
    c)转型前的检查,可以使用关键字instanceof,如:if(x instanceof Dog) ...,Class的isInsance()方法有同样效果,但后者的Class类型可以使用变量,而前者只能写死。
    d)类型检查时,使用==或.equals()方法只能判断类型是否相同,但使用instanceof或isInstance()则包含了继承关系。
5.动态代理,使用静态方法Proxy.newProxyInstance()可以创建动态代理的实例,三个参数分别为:类加载器、期望代理实现的接口列表、InvocationHandler接口的一个实现。在第三个参数中,可以实现方法过滤(使用代理的好处之一吧,感觉像是代理在操控情报。。。腹黑一下),也可以实现事务。
6.反射可以违反访问权限进行操作。
分享到:
评论

相关推荐

    Java编程思想学习笔记

    在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...

    C++编程思想1-5 清晰PDF

    1.7 小结 21 第2章 数据抽象 22 2.1 声明与定义 22 2.2 一个袖珍C库 23 2.3 放在一起:项目创建工具 29 2.4 什么是非正常 29 2.5 基本对象 30 2.6 什么是对象 34 2.7 抽象数据类型 35 2.8 对象细节 35 2.9 头文件...

    C++编程思想 (作者学习C++亲身体会及多年教学经验)

    1.7 小结 21 第2章 数据抽象 22 2.1 声明与定义 22 2.2 一个袖珍C库 23 2.3 放在一起:项目创建工具 29 2.4 什么是非正常 29 2.5 基本对象 30 2.6 什么是对象 34 2.7 抽象数据类型 35 2.8 对象细节 35 2.9 头文件...

    基于java的商品信息管理系统--大学本科Java基础

    使我们更进一步了解了面向对象语言编程的基本思想和风格特点。学会编制结构清晰、风格良好适当的java语言程序,从而具备解决综合性实际问题的能力1.2课程设计内容和要求1、系统需实现基础功能:增、删、改、查。2、...

    java面向对象编程总结

    面向对象编程是 Java 的核心特性,它是一种设计和组织代码的方式,强调将数据和操作数据的方法封装在一起。本文将深入探讨 Java 中面向...通过不断实践和学习,可以更好地运用面向对象编程思想,提升软件开发的水平。

    java多态小结

    ### Java多态详解 #### 什么是多态? 多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类...掌握多态不仅有助于编写更高效、更健壮的代码,也是深入理解和运用面向对象编程思想的基础。

    清华大学JAVA教程

    这是清华大学的一套JAVA教程,包括详尽的例子、课后习题与解答、相关计算机英语词汇,就课程...同时Java语言是一门面向对象的语言,通过学习可以掌握用面向对象进行编程的思想和实践,使学生成为一名合格的Java程序员。

    编程思想下篇

    3.17 操作符小结 3.18 总结 第4章 控制执行流程 4.1 true和false 4.2 if-else 4.3 迭代 4.3.1 do-while 4.3.2 for 4.3.3 逗号操作符 4.4 Foreach语法 4.5 return 4.6 break和 continue 4.7 臭名昭著的“goto” 4.8 ...

    java语言程序设计 java编程基础入门教程资料 (3)面向对象的编程技术 共29页.pptx

    面向对象的编程思想强调利用抽象、分类、继承、聚合和多态等原则来构建软件系统,使得代码更加模块化、易于维护。Java作为一门面向对象的语言,其设计充分体现了这些原则,为开发者提供了强大的工具来解决复杂的问题...

    Thinking in java4(中文高清版)-java的'圣经'

    类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java...

    Java(J2SE、J2EE)学习小结

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。本文将围绕Java的基础知识、进阶概念以及一些常见面试题进行探讨,帮助读者深入理解Java J2SE(Java标准版)和J2EE(Java企业版)的学习...

    java初学者应该阅读的书籍

    ### 第三本书:《Thinking in Java》(《Java编程思想》) #### 知识点概述 - **面向对象思想**:深入讲解面向对象的核心思想,如抽象、封装等。 - **泛型与集合**:掌握泛型的使用技巧,了解集合框架的设计理念。 ...

    java面试题目精选

    综上所述,这份资料不仅涵盖了Java编程的基础知识,还深入到了更高级的主题,如面向对象编程、多线程处理以及标准库的使用等。对于准备参加Java面试的求职者来说,这是一份非常全面且实用的学习指南。

    Java语言程序设计

    不但详细介绍了Java语言本身,而且讨论了面向对象的设计思想和编程方法、UML建模语言、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用、Java集合框架等实用开发技术。全书以面向对象的程序设计...

    C++编程思想

    《C++编程思想》是一本专注于C++编程语言特性和面向对象编程思想的经典教材。本书不但适用于编程新手和C++初学者,同时也为那些有其他编程语言背景(如Java开发者)提供了转行到C++的桥梁。 ### 对象的演化 文档...

    C++编程思想(中文版)

    1.7 小结 21 第2章 数据抽象 22 2.1 声明与定义 22 2.2 一个袖珍C库 23 2.3 放在一起:项目创建工具 29 2.4 什么是非正常 29 2.5 基本对象 30 2.6 什么是对象 34 2.7 抽象数据类型 35 2.8 对象细节 35 2.9 头文件...

    java贪吃蛇项目(含实验报告)

    【描述】"java结课项目"表明这是一项课程作业,可能是在学习Java编程课程的后期阶段,学生们被要求独立或团队合作完成的。这样的项目通常要求学生将课堂上学习的面向对象编程概念、事件处理、图形用户界面(GUI)...

Global site tag (gtag.js) - Google Analytics