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虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...
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 头文件...
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语言程序,从而具备解决综合性实际问题的能力1.2课程设计内容和要求1、系统需实现基础功能:增、删、改、查。2、...
面向对象编程是 Java 的核心特性,它是一种设计和组织代码的方式,强调将数据和操作数据的方法封装在一起。本文将深入探讨 Java 中面向...通过不断实践和学习,可以更好地运用面向对象编程思想,提升软件开发的水平。
### Java多态详解 #### 什么是多态? 多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类...掌握多态不仅有助于编写更高效、更健壮的代码,也是深入理解和运用面向对象编程思想的基础。
这是清华大学的一套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作为一门面向对象的语言,其设计充分体现了这些原则,为开发者提供了强大的工具来解决复杂的问题...
类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。本文将围绕Java的基础知识、进阶概念以及一些常见面试题进行探讨,帮助读者深入理解Java J2SE(Java标准版)和J2EE(Java企业版)的学习...
### 第三本书:《Thinking in Java》(《Java编程思想》) #### 知识点概述 - **面向对象思想**:深入讲解面向对象的核心思想,如抽象、封装等。 - **泛型与集合**:掌握泛型的使用技巧,了解集合框架的设计理念。 ...
综上所述,这份资料不仅涵盖了Java编程的基础知识,还深入到了更高级的主题,如面向对象编程、多线程处理以及标准库的使用等。对于准备参加Java面试的求职者来说,这是一份非常全面且实用的学习指南。
不但详细介绍了Java语言本身,而且讨论了面向对象的设计思想和编程方法、UML建模语言、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用、Java集合框架等实用开发技术。全书以面向对象的程序设计...
《C++编程思想》是一本专注于C++编程语言特性和面向对象编程思想的经典教材。本书不但适用于编程新手和C++初学者,同时也为那些有其他编程语言背景(如Java开发者)提供了转行到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编程课程的后期阶段,学生们被要求独立或团队合作完成的。这样的项目通常要求学生将课堂上学习的面向对象编程概念、事件处理、图形用户界面(GUI)...