荣新IT培训中心
全国咨询热线:400-1335-066
您现在的位置:首页>行业新闻 > 正文

Java面试题(3)

时间:2017-11-10 14:52:41 来源:荣新IT教育培训 作者:荣新科技

这是Java培训面试知识系列的第三部分,成功不是偶然,它取决于你每一次的准备是否足够详细。我们继续来看一看吧。

Java面试题(3)


设计模式:

工厂模式:工厂类可以根据条件生成不同的子类实例,这些子类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作(多态方法)。

里氏替换原则:任何时候都可以用子类型替换掉父类型(子类一定是增加父类的能力而不是减少父类的能力,因为子类比父类的能力更多,把能力多的对象当成能力少的对象来用当然没有任何问题)。

接口隔离原则:接口要小而专,绝不能大而全。

合成聚合复用原则:优先使用聚合或合成关系复用代码。

迪米特法则:一个对象应当对其他对象有尽可能少的了解(尽量用简单的方式把业务呈现给用户,而不让用户看到业务细节)

代理模式:给一个对象提供一个代理对象,并由代理对象控制原对象的引用。

适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起使用的类能够一起工作。

UML简介

UML是统一建模语言,为软件开发的所有阶段提供模型化和可视化支持。使用UML可以帮助沟通与交流,辅助应用设计和文档的生成,还能够阐释系统的结构和行为。

反射创建对象

通过类对象调用newInstance()

通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,例如:String.class.getConstructor(String.class).newInstance("Hello");

如何通过反射获取和设置对象私有字段的值

可以通过类对象的getDeclaredField()方法字段(Field)对象,然后再通过字段对象的setAccessible(true)将其设置为可以访问

通过反射获取对象方法

直接通过getMethod("name")获取到方法对象,然后通过invoke方法调用

Method m = str.getClass().getMethod("toUpperCase"); m.invoke(str)

简述一下面向对象的"六原则一法则"。

单一职责原则:一个类只做它该做的事情,

开闭原则:软件实体应当对扩展开放,对修改关闭。(抽象类或者接口)

依赖倒转原则:面向接口变成, 声明方法的参数类型、方法的返回类型、变量的引用类型时,尽可能使用抽象类型而不用具体类型

荣新科技温馨提示:面试最重要的还是心态,放好心态,失败也并不是那么可怕