java的小总结

来源:互联网 发布:techmark 如何知乎 编辑:程序博客网 时间:2024/05/16 01:55

Java的编程是从构建类开始的,它是对现实的抽象从而映射到编程语言中。
类中的属性是对此类特征的描述,可以用限制修饰符对其进行访问权限的控
制从而实现隐藏的目的或者说封装。类还有方法,它描述了此类要做做什么
和怎么做,也是该类对外的接口,外部就是通过接口使用该类的功能的。方法也
可用限制修饰符控制接口的访问权限实现封装。类构建好以后就可以复用其代
码了,复用的形式有两种一种是组合另一种是继承。组合是一种很灵活的方式
是将类的对象置于某个新的类中,称为成员对象,新的类可以由任意数量、任意
类型的其它对象以任意可以实现新的类中想要的功能的方式所组成,使用现有的类
合成新的类。继承是代码复用的另一种形式,导出类继承了基类公共的和被保护的
部分。在新类中重写和覆盖基类重的方法并且增加独特的属性和方法是允许的,但
它还是属于基类的类型。在处理类型的层次结构时,经常把一个对象不当作它所属
的特定类型来对待,而是将其当作其基类的对象来对待。这样可以编写出不依赖于
特定类型的代码,因此可以用基类的引用指向导出类覆盖或重载了基类的方法实现
不同的信息引发不同的结果这就是多态——同一种方法接受不同的信息得到不同的
结果。但是引用了导出类中新增的方法就会出错,原因很简单因为它是导出类中特
有的不是此种类型公有。

有时会希望基类仅仅表示其导出类的接口,或者说不希望任何人创建基类的实际对象,
而只是希望他们将对象向上转型到基类。这时可以用抽象类或者接口实现这种想法。
抽象类与接口的区别就是抽象类只能继承一个而接口可是实现多个吧!使用接口可以
解决多重继承的问题。在java中还有一种独特的类嵌套类和内部类,嵌套类是静态的
内部类。内部类很灵活可以在外部类的任何的方。内部类的魅力在于,每个内部类都
能独立地继承一个接口的实现,无论外部类是否已经继承了某个接口的实现,对于内
部类都没有影响。内部类使得多重继承的解决方案变得完整。接口解决了部分问题,
而内部类有效地实现了多重继承

在解决某个特定问题时不知道需要多少个对象,或者它们将存活多久,那么就不可能
知道如何存储这些对象。如何才能知道需要多少空间来创建这些对象呢?答案是也不
可能知道,因为这类信息只有在运行时刻才能获得。简单的解决方案是用数组存贮对
象的引用,但是数组功能不是很强大而且创建后不能改变大小。Java提供了一组容器
用以存贮对象引用,容器是专为存储对象设计的因此功能是比数组强大,空间也可以
伸缩,为操纵对象提供了灵活性。如何才能用简单的方法取出容器中的对象哪?java
提供了一个很不错的工具——迭代器,使用容器虽然好但是放入容器的对象自动向上转
型为java中所有类的基类——object,这样就失去了类型的基本特征,所以在取出对
象之前要进行强制转型。这种操作不仅乏味还容易出错,因为很容易忘记转型。如何
解决这种错误的发生哪?那就是用参数化类型——泛型,泛型的作用是让编译器自动
定制作用于特定类型之上的类。比如,通过使用参数化类型,编译器可以定制一个只

接纳和取出A类型的容器。

Java程序是在虚拟机上运行的,虚拟机实现了java的跨平台而不用修改代码的功能。
虚拟机由一组指令,一组寄存器,一个栈,一个堆,一个方法区组成。类加载器根据
class文件读取类信息加载一个类并实例化一个class对象,以后就可以创建普通的对
象了。要想知道类型的信息可以用getclass()获得class对象的引用从而可以获得关
于一个类的相关信息。还可以用getClassLoader()获得类加载器的引用以获得关于类
加载器的相关信息。虚拟机的相关信息可以通过ManagementFactory的工厂方法获取引
用后获得!这就是Java的反射机制.

原创粉丝点击