JAVA基础知识总结

1、在.NET中所有类的基类是?
object
2、C#中有没有静态构造函数,如果有是做什么用的?
有;
静态构造函数用于初始化类。典型用途是:可以用于写入日志。

3、面向对象语言的3个特性。
封装、继承、多态

5、什么是反射?
程序运行时将exe、dll文件加载到内存并执行一些操作的过程,这个过程称为反射。
7、override(重写)与overload(重载)的区别?
overload(重载):方法名称相同,参数个数或者类型不同。
override(重写):是子类覆盖父类中的方法,要求方法名、参数、返回值完全相同,连访问修饰也为可访问级别。

8、C#中的委托是什么?事件是不是一种委托?
委托可以把一个方法作为参数代入另一个方法。
可以理解为指向一个函数的引用。
是,是一种特殊的委托
public delegate void OnMsg(string s);
void onMsg(string str)
{
MessageBox.Show(str);
}
OnMsg msg = new OnMsg(onMsg);
msg(“TEST”);

9、什么是强类型,什么是弱类型?
强类型:每个变量和对象都必须具有声明类型,且在执行时类型不能更改。
弱类型:在执行的时候才会确定类型。
C# 是强类型语言;因此每个变量和对象都必须具有声明类型。
javascript是弱类型语言;因此它可以用var来定义所有变量;

10、C#中接口和类的异同?
相同点:
接口和类都可以被继承。

不同点:
接口不能直接实例化、接口不包含方法的实现、接口可以多继承,类只能单继承。

11、abstract class(抽象类)和interface(接口)有什么区别?
相同点:
(1) 都可以被继承
(2) 都不能被实例化
(3) 都可以包含方法声明
不同点:
(1) 接口可以多继承,抽象类只能单继承。
(2) 继承接口的子类必须实现该接口的全部成员,抽象类可不用实现全部方法。
(3) 接口可以用于支持回调,而继承并不具备这个特点。

12、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口。
抽象类可以实现接口。
抽象类可继承实体类,但前提是实体类必须有明确的构造函数。

13、是否可以继承String类?
String类是密封类故不可以继承。

14、C#的两种类据类型:值类型和引用类型。
概念:值类型直接存储其值,而引用类型存储对其值的引用
值类型: byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。
引用类型: string 和 class统称为引用类型。

值类型变量声明后,不管是否已经赋值,编译器都为其分配内存。
引用类型的对象是动态分配内存。
引用类型的对象总是在进程堆中分配(动态分配)。
15、string和String的区别?
使用上没有区别。语义上略有区别
string是c#语言的一部分;String是.net框架的一个类。

string 是c#语言的关键字,是语言的一部分,
String 是.net框架的System.String类,是框架的一个类。
使用时C#的string会自动等同于System.String。
16、什么是装箱和拆箱,举例说明。
装箱是指把值类型转换成引用类型的过程,例如 int i=10; object obj=i; int转换为object
拆箱是指把引用类型转换成值类型的过程,例如 int j=(int)obj; object转换为 int

17、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String没有length()这个方法,有length属性。
18、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错
s1是short型,s1+1是int型,不能显式转化为short型。
可修改为s1 =(short)(s1 + 1)。

short s1 = 1; s1 += 1正确。

19、as 运算符的作用是什么?
用于执行引用类型的显式类型转换。 object 转换为class
如果要转换的类型与指定类型兼容,转换就会成功;如果类型不兼容,则返回null。

20、在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
using作为指令,用作引入命名空间。作为语句可以自动释放内存资源;
new 实例化一个对像,或修饰一个方法,表此方法完全重写此方法.

21、new 关键字用法?
实例化一个对像;或修饰一个方法,表此方法完全重写此方法。

22、请列出c#中几种循环的方法,并指出他们的不同?
do while:不管符不符合条件都会运行一次,在运行一次在之后再进行判断是否符合条件。
while:首先判断是否符合条件在进行运行。
for:一般需要定义局部性控制循环的的变量使用。
foreach:只能对数据进行读;在其作用域内不能对进行遍历的值做修改,其遍历顺序只能递增而且其控制循环变量是默认的只能++;

23、WebService的介绍及好处?
WebService服务可以描述为可以在web上部署并可以被任何应用程序或其他服务调用的功能。
所谓服务就是系统提供一组接口,并通过接口使用系统提供的功能,WebService服务可以提供任何企业到客户,企业到企业,点对点或部门对部门通讯所需的服务,比如一个公司可以通过网络连接到另一个公司的服务,从而直接传递订购单。
特点:
1、可利用HTTP,穿透防火墙的通信。
2、应用程序集成
3、B2B的集成0
4、软件和数据重用

24、WCF和WebService的区别?
1、WCF不依赖于IIS。
2、WCF可以配置BasicHttpBinding来兼容WS。
3、WCF可以基于TCP或 消息队列(MessageQueue)来传输数据。
4、WCF可以使有状态的并且支持事务。
5、WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、消息可达性、事务流等。
6、WCF支持多种消息传输格式Text,JSON,Motom,Binary
7、WCF 支持多种会话模式:单向、双向、请求/响应。
8、WCF 支持 WAS hosting、Windows 服务 hosting、Self-Hosting、IIS hosting 等。
9、WCF 支持多种并发模式:单例、单调、会话 。

25、简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。
webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

26、什么是XML?XML举例用法。
XML是可扩展标记语言(Extensible Markup Language,XML)缩写,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言;
可用于:配置文件、数据存储、数据传输。

27、什么是json?Json举例用法。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格局。
可用于:数据存储、网站数据交互传输。

28、JSON 和 XML 的比较。
1.JSON和XML的数据可读性根本相同
2.JSON和XML相同具有丰富的解析手法
3.JSON相对于XML来讲,数据的体积小
4.JSON与JavaScript的交互更加方便
5.JSON对数据的描述性比XML较差
6.JSON的速度要远远快于XML

29、 简述 private、 protected、 public、 internal 修饰符的访问权限
private :私有成员, 在类的内部才可以访问。
protected :保护成员,该类内部和继承类中可以访问。
public:公共成员,完全公开,没有访问限制。
internal:在同一命名空间内可以访问。

30、C#中static的作用?

标记为static的就不用创建实例对象调用了,可以通过类名直接点出来。
static可修饰类、字段、属性、方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

负数系

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值