JAVA的核心概念:接口
接口与类属于同一层次,实际上,接口是一种特殊的抽象类。
如:
}
publicinterface:公开接口
与类相似,一个文件只能有一个public接口,且与文件名相同。
在一个文件中不可同时定义一个public接口和一个public类。
一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。
一个类实现一个接口的格式:
};
一个类实现接口,相当于它继承一个抽象类。
类必须实现接口中的方法,否则其为一抽象类。
实现中接口和类相同。
接口中可不写public,但在子类中实现接口的过程中public不可省。
注:
一个类除继承另外一个类,还可以实现接口;
继承类实现接口
这样可以实现变相的多继承。
一个类只能继承另外一个类,但是它可以继承多个接口,中间用“,”隔开。
所谓实现一个接口,就是指实现接口中的方法。
接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。
例:interfaceICextendsIA,IB{};
接口也可以用于定义对象
IAI=newIAImpl();
实现的类从父类和接口继承的都可做运行时类型。
IBI=newIAImple();
返回的结果均为tru
接口和多态都为JAVA技术的核心。
接口往往被我们定义成一类XX的东西。
接口实际上是定义一个规范、标准。
通过接口可以实现不同层次、不同体系对象的共同属性;
通过接口实现writeonceasanywher
以JAVA数据库连接为例子:JDBC制定标准;数据厂商实现标准;用户使用标准。
接口通常用来屏蔽底层的差异。
接口也因为上述原因被用来保持架构的稳定性。
JAVA中有一个特殊的类:Object。它是JAVA体系中所有类的父类。
此类中的方法可以使所的类均继承。
以下介绍的三种方法属于Object:
finalize方法:当一个对象被垃圾回收的时候调用的方法。
toString():是利用字符串来表示对象。
当我们直接打印定义的对象的时候,隐含的是打印toString()的返回值。
可以通过子类作为一个toString()来覆盖父类的toString()。
以取得我们想得到的表现形式,即当我们想利用一个自定义的方式描述对象的时候,我们应该覆盖toString()。
equal
首先试比较下例:
StringA=newString(“hello”);
StringA=newString(“hello”);
A==B(此时程序返回为FALS
因为此时AB中存的是地址,因为创建了新的对象,所以存放的是不同的地址。
附加知识:
字符串类为JAVA中的特殊类,String中为final类,一个字符串的值不可重复。因此在JAVAVM中有一个字符串池,专门用来存储字符串。如果遇到Stringa=”hello”时,系统在字符串池中寻找是否有”hello”,此时字符串池中没有”hello”,那么系统将此字符串存到字符串池中,然后将”hello”在字符串池中的地址返回a。如果系统再遇到Stringb=”hello”,此时系统可以在字符串池中找到“hello”。则会把地址返回b,此时a与b为相同。
Stringa=”hello”;
Systeout.println(a==”hello”);
系统的返回值为true。
故如果要比较两个字符串是否相同。可以对a调用equal:
equal用来比较两个对象中字符串的顺序。
equal(是a与b的值的比较。
注意下面程序:
studenta=newstudent(“LUCY”,20);
studentb=newstudent(“LUCY”,20);
Systeout.println(a==;
此时返回的结果均为false。
以下为定义equal
students=(student)o;
}如果equals()返回的值为
以下为实现标准equals的流程:
if(this==o)returntrun;//此时两者相同
if(o==nulreturnfalse;
studengs=(student)o;//强制转换
}
文章为作者独立观点,不代表股票配资公司观点
量化接口api2023-03-17
美股大型科技股16日全线上涨微软涨逾4%2023年03月17日08:36来源:中国股票报中证网