面试——面向对象题
一:抽象类与接口的区别(用英文描述)
Interface is open to the public, there can not
have the private methods and variables.It is used to let others use, but
the abstract class can have private methods or private variables.In
addition, the realization of the interface must be realized in the
interface definition of all methods, and the realization of the
abstract category have the choice of rewriting need to use the method,
the general application, is the top of the interface, and then to
achieve an abstract category Interface, and finally to achieve specific
category. Furthermore, the interface can be achieved multiple
inheritance, a class can only inherit a super-category, but can be
inherited through multiple interface multiple inheritance, the interface
is also available logo (There are no any way, such as the Remote
Interface) and data Sharing (there are all the variables constant) role.
中文:
接口是公开的,里面不能有私有的方法或变量
,是用于让别人使用的,而抽象类是可以有私有方法或私有变量
的
,
另外,实现接口的一定要实现接口里定义的所有
方法,而实现
抽象类可以有选择地
重写需要用到的方法,
一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体 类实现。
还有,接口可以实现多重
继承,而一个类只能继承一个超类,
但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变 量全是常量)的作用.
二:struct与类的区别 struct值传递
类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面
不同于类:结构为值
类型而不是引用类型,并且结构
不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。
三.概述反射
和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到
现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式
的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet
在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
(gstar:序列化不只是 为了要传递对象 还为了存储对象。)
四.如何理
解委托
?
答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.
msdn2005中是这样解释的:
委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全
的。
委托允许将方法作为参数
进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。
分享到:
相关推荐
Memcached是一款高性能的分布式内存对象缓存系统,用于减轻数据库负担,加速动态Web应用,提高访问速度。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站的速度和响应时间。 #### 二、...
### 2021 Java字节跳动面试题——面向字节_JVM(上) #### 1. 内存模型及分区 Java虚拟机(JVM)的内存模型主要包括以下几个部分: - **堆区(Heap)**:堆区是Java虚拟机所管理的内存中最大的一块,主要用于存放...
### 面向对象与面向过程的区别 #### 面向过程 - **优点**:相较于面向对象,面向过程在性能上有一定优势。在需要高度关注执行效率的应用场景下(如单片机、嵌入式系统、Linux/Unix等操作系统级别的开发),面向过程...
### 2021Java字节跳动面试题——面向字节_MongoDB.pdf #### 知识点一:NoSQL数据库与RDBMS的区别及其应用场景 - **NoSQL数据库含义**:NoSQL(Not Only SQL)指的是非关系型数据库,这类数据库与传统的关系型...
面向对象编程是软件开发中的一种核心概念,它模拟真实世界的实体和关系,通过类和对象来组织代码。在Java中,面向对象编程的基础是类...在面试中,深入理解面向对象的这些核心概念可以避免出现基础错误,提升面试表现。
需要注意的是,准备阶段不会为类中的实例变量分配内存,实例变量将会在对象实例化时随着对象一起分配在Java堆中。 4. **解析**:解析阶段主要完成符号引用到直接引用的转换。解析动作并不一定在初始化动作完成之前...
- **特点**:采用JDK标准的RMI协议实现,传输参数和返回参数对象需实现Serializable接口,使用Java标准序列化机制,使用阻塞式短连接。 - **传输协议**:TCP - **序列化方式**:Java标准序列化 - **应用场景**:适用...
Java面向对象编程(OOP)是Java的核心概念,它将现实世界中的事物抽象为类,然后通过实例化类来创建对象。类是对象的模板,包含了属性(成员变量)和行为(方法)。对象是类的具体表现,是类的实例。在Java中,类与...
这份"java面试——深圳-银盛支付-Java中级.zip"压缩包文件很可能包含了针对Java中级开发者的一系列面试问题和解答,旨在帮助求职者提升自己的技能,并在面试中脱颖而出。下面,我们将深入探讨一些可能涵盖的Java中级...
这可能涵盖基础语法、面向对象设计、多线程、集合框架、异常处理、IO流、网络编程、数据库交互等Java核心技术,也可能涉及到JVM原理、性能优化、并发编程等进阶话题。 【压缩包子文件的文件名称列表】 "java面试...
对于面向对象设计,掌握设计模式是关键。工厂模式、单例模式、观察者模式、装饰器模式、适配器模式等23种GOF设计模式,都需要理解其背后的意图和应用场景。 数据库相关知识也很重要,包括SQL查询、事务管理、JDBC...
下面将根据"java面试——深圳-中国平安-Java中级.pdf"这份资料,提炼出一些核心的Java知识点。 1. **Java基础**: - **数据类型**:包括基本数据类型和引用数据类型,理解它们的区别和内存管理。 - **类与对象**...
本资源“C#.NET经典面试题深度剖析_面向对象”聚焦于C#语言的核心概念——面向对象编程(Object-Oriented Programming,简称OOP)。面向对象是现代软件开发中的基石,它通过类、对象、继承、封装、多态等概念来组织...
这份资料“java面试——南京-软通动力-Java中级.zip”包含了一份详细的PDF文档,旨在帮助求职者准备相关的面试问题。以下是基于Java中级面试可能会涉及的一些核心知识点的详细阐述: 1. **Java基础** - **数据类型...
【Java程序员必备——比较全的Java面试题】 Java编程语言作为全球最受欢迎的开发语言之一,其面试题库广泛且深入,涵盖了基础语法、面向对象、集合框架、多线程、网络编程、I/O流、数据库操作、设计模式等多个方面...
大厂Java面试真题分为Java、算法、操作系统、网络、面向对象、数据库、Java、系统设计、工具,本资料属于Java并发面试专题
本面试专题将深入探讨Spring框架的核心概念、主要特性和常见面试问题。 1. **Spring框架概述** Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级Java应用的开发。Spring的核心特性包括...
- 哈希(Hash):用于存储对象,键为字段,值为字段值,适合存储用户信息等结构化数据。 - 列表(List):双向链表结构,支持两端插入和删除,可实现消息队列功能。 - 集合(Set):无序的唯一元素集合,支持并集、交集...