反射机制是Java语言中的一个特殊的功能,允许程序运行的时候进行自我检查,同时也允许其内部成员进行操作。具体而言,反射机制的主要功能有:得到一个对象所属的类,获取一个类的所有成员变量和方法,在运行时候创建对象,在运行时候调用对象的方法。在反射机制中,Class类是一个重要的类,有三种方法可以获取到Class类。
-
Class.forName
-
类名.class
-
实例.getClass
例题
Java创建对象的方法
-
通过new语句实例化一个对象。
-
通过反射机制创建对象
-
通过clone方法创建一个对象。
-
通过反序列化方式创建对象。
package的中文意思为包,为一个抽象的概念,其主要作用是有条理的把Java文件组织在一起。具体而言,package有以下的作用。
-
提供多层命名空间。解决掉命名冲突的问题。
-
对类按照功能进行分类,使得项目组织更加的清晰,
package的一般用法如下
-
在每个源文件的开头加上package packagename然后在源文件下创建一个新的目录,名称为packagename。
-
用javac指令编译每个java源文件,将生成的源文件复制到packagename目录。
-
用Java指令运行程序。
-
抽象:抽象就是忽视掉一个主题中与当前目标无关的哪些方面,以便充分的注意与当前目标有关的方面。抽象包括两个方面,一个是过程抽象,一个是数据抽象。
-
继承:继承是一种连接类的层次模型,并且允许和鼓励类的重用,提供了一种明确的表述共性的方法。
-
封装,封装是指把客观事物抽象成类,每个类对自身的数据和方法实行保护,类可以把自己的数据和方法让可信的类或者对象进行操作,对不可信的进行信息隐藏。
-
多态,多台是指允许不同的对象对同一消息做出响应,多台包括参数化多态和包含多态。
有3个优点
-
较高的开发效率,使用面向对象,可以对现实中的事物进行抽象,可以把现实中的事物直接映射为开发的对象,非常接近人类的思维。
-
保证软件的鲁棒性。由于面向对象具有很高的重用性,在开发过程中可以重用已有的代码,而且进行长期测试的代码,提高了软件的鲁棒性。
-
保证软件的高可用的维护性,由于采用面向对象的开发方式,使得代码的可读性得以提高,也使得代码的结构更加的清晰明了,因此维护起来更加的方便。
继承是面向对象的一个重要的特性,通过继承,子类可以使用父类的一些成员变量与方法,从而提高代码的复用性。继承主要有如下的几个特性。
-
Java语言不支持多重继承,也就是说,子类至多只能有一个父类,但是可以通过实现多个接口来达到多重继承的目的。
-
子类只能继承父类的非私有成员变量与方法。
-
当子类中定义的成员变量和父类中定义的成员变量同名的时候,子类中的成员变量会覆盖父类中的成员变量,而不会被继承。
-
当子类中的方法与父类中的方法,有相同的函数签名的时候,子类会覆盖掉父类的方法,而不会被继承。
笔试题
下列有关继承的说法中,正确的是 A 子类能继承父类的所有方法和状态, B 子类能继承父类的所有方法和状态 C 子类只能继承父类的public 方法和状态。D 子类能继承父类的方法而不是状态。答案 B
小明菜市场