接口(interface)
接口与类属于同一层次,实际上,接口是一种特殊的抽象类。
如:
interface IA{
}
public interface:公开接口
与类相似,一个文件只能有一个public接口,且与文件名相同。
在一个文件中不可同时定义一个public接口和一个public类。
一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。
一个类实现一个接口的格式:
class IAImple implements IA{
};
一个类实现接口,相当于它继承一个抽象类。
类必须实现接口中的方法,否则其为一抽象类。
实现中接口和类相同。
接口中可不写public,但在子类中实现接口的过程中public不可省。
(如果剩去public则在编译的时候提示出错:对象无法从接口中实现方法。)
注:
① 一个类除继承另外一个类,还可以实现接口;
class IAImpl extends java.util.Arrylist implement IA{}
继承类 实现接口
这样可以实现变相的多继承。
② 一个类只能继承另外一个类,但是它可以继承多个接口,中间用“,”隔开。
Implements IA,IB
所谓实现一个接口,就是指实现接口中的方法。
③ 接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。
例:
interface IC extends IA,IB{};
接口也可以用于定义对象
IA I=new IAImpl();
实现的类从父类和接口继承的都可做运行时类型。
IAImple extends A implement IA,IB
IB I=new IAImple();
I instance of IAImple;
I instance of A;
I instance of IA;
I instance of IB;
返回的结果均为true.
接口和多态都为JAVA技术的核心。
接口往往被我们定义成一类XX的东西。
接口实际上是定义一个规范、标准。
① 通过接口可以实现不同层次、不同体系对象的共同属性;
通过接口实现write once as anywhere.
以JAVA数据库连接为例子:JDBC制定标准;数据厂商实现标准;用户使用标准。
接口通常用来屏蔽底层的差异。
②接口也因为上述原因被用来保持架构的稳定性。
JAVA中有一个特殊的类: Object。它是JAVA体系中所有类的父类(直接父类或者间接父类)。
此类中的方法可以使所的类均继承。
以下介绍的三种方法属于Object:
(1) finalize方法:当一个对象被垃圾回收的时候调用的方法。
(2) toString():是利用字符串来表示对象。
当我们直接打印定义的对象的时候,隐含的是打印toString()的返回值。
可以通过子类作为一个toString()来覆盖父类的toString()。
以取得我们想得到的表现形式,即当我们想利用一个自定义的方式描述对象的时候,我们应该覆盖toString()。
(3)equal
首先试比较下例:
String A=new String(“hello”);
String B=new String(“hello”);
A==B(此时程序返回为FALSE)
因为此时AB中存的是地址,因为创建了新的对象,所以存放的是不同的地址。
附加知识:
字符串类为JAVA中的特殊类,String中为final类,一个字符串的值不可重复。因此在JAVA VM(虚拟机)中有一个字符串池,专门用来存储字符串。如果遇到String a=”hello”时(注意没有NEW,不是创建新串),系统在字符串池中寻找是否有”hello”,此时字符串池中没有”hello”,那么系统将此字符串存到字符串池中,然后将”hello”在字符串池中的地址返回a。如果系统再遇到String b=”hello”,此时系统可以在字符串池中找到 “hello”。则会把地址返回b,此时a与b为相同。
String a=”hello”;
System.out.println(a==”hello”);
系统的返回值为true。
故如果要比较两个字符串是否相同(而不是他们的地址是否相同)。可以对a调用equal:
System.out.println(a.equal(b));
equal用来比较两个对象中字符串的顺序。
a.equal(b)是a与b的值的比较。
注意下面程序:
student a=new student(“LUCY”,20);
student b=new student(“LUCY”,20);
System.out.println(a==b);
System.out.println(a.equal(b));
此时返回的结果均为false。
以下为定义equal(加上这个定义,返回ture或false)
public boolean equals(Object o){
student s=(student)o;
if (s.name.equals(this.name)&&s.age==this.age)
else return false;
}//如果equals()返回的值为
以下为实现标准equals的流程:
public boolean equals(Object o){
if (this==o) return trun; //此时两者相同
if (o==null) return false;
if (! o instanceof strudent) return false; //不同类
studeng s=(student)o; //强制转换
if (s.name.equals(this.name)&&s.age==this.age) return true;
else return false;
}
封装类:
JAVA为每一个简单数据类型提供了一个封装类,使每个简单数据类型可以被Object来装载。
除了int和char,其余类型首字母大写即成封装类。
转换字符的方式:
int I=10;
String s=I+” ”;
String s1=String.valueOf(i);
Int I=10;
Interger I_class=new integer(I);
“==”在任何时候都是比较地址,这种比较永远不会被覆盖。
分享到:
相关推荐
Java是一种广泛使用的编程语言,其核心概念构成了Java技术的基础,对于初学者和专业开发者来说都是至关重要的。本文将深入探讨Java的四个核心概念:Java虚拟机(JVM)、类装载器体系结构、Java class文件以及Java ...
内容概要:本文档提供了多个典型的Java实例来覆盖不同领域的知识点,从简单到复杂逐一介绍,涉及‘Hello, World!’应用程序、OOPs、类定义和实例化、继承实现、抽象化与封装化、异常捕捉机制、并发模型(多线程)...
这表示文档中包含的知识点都是精华,对于希望深入了解Java核心概念和原理的学习者和专业人士来说,这份文档非常值得阅读和学习。 标签为“java”,直接指明了这份文档的主题是关于Java的。Java标签涵盖的内容非常...
《Java核心技术源码》是基于...通过研究这些源代码,开发者可以深化对Java核心概念的理解,提升编程技能,并能更好地应用于实际项目中。无论是初学者还是经验丰富的开发者,都有机会从这些源码中学习到宝贵的实战经验。
此外,也可能包含了一些技术文章、教程或指南,帮助初学者快速掌握Java核心概念,如异常处理、集合框架、IO流、多线程、网络编程等。 再者,提及到"技术架构",这可能涵盖了Java企业级应用开发的相关知识,如Spring...
在Android开发中,Java基础知识的应用无处不在,如Activity的生命周期管理、Intent的使用、布局文件的解析等,都离不开对Java核心概念的理解和运用。因此,《Java核心技术 卷1 基础知识 第9版》对于想要进入Android...
这本书主要针对那些希望掌握Java核心概念和技术的高级程序员,无论是初学者还是经验丰富的开发者,都能从中受益匪浅。 在Java核心技术中,读者将深入理解以下关键知识点: 1. **Java语言基础**:书中详细介绍了...
Java核心技术是每一个Java开发者必备的基础,它涵盖了编程语法、面向对象设计、...通过深入研究这个"java核心技术(10)code"压缩包,开发者可以巩固和深化对Java核心概念的理解,同时提高编程技能和解决问题的能力。
《Java核心技术第1卷》是一本深入浅出介绍Java核心概念的经典书籍,涵盖了面向对象编程、类与对象、继承、多态、接口、异常处理、集合框架、输入/输出(I/O)、线程以及网络编程等多个关键领域。这本书中的示例源码...
1. **引导类装载器(Bootstrap ClassLoader)**:是最顶层的类装载器,用于装载Java核心库(如rt.jar等),这些核心库位于JAVA_HOME/lib目录下。 2. **扩展类装载器(Extension ClassLoader)**:用于装载扩展库,...
《Java核心技术》是一本深入探讨Java编程基础与高级特性的权威教材。这本书详细讲解了Java的核心概念和技术,对于想要深入理解和掌握Java编程的开发者来说,是不可或缺的资源。 在Java的核心概念中,首先会涉及的是...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的库支持而著名。"核心Java"(Core Java)通常指的是Java的基础部分,...因此,不断深化对Java核心概念的理解,对任何Java开发者来说都是必要的。
JAVA核心技术 JAVA是由Sun Microsystems(现在隶属于Oracle Corporation)开发的一种静态类型、基于类的、面向对象的编程语言。Java语言的主要特点是跨平台性、对象oriented、分布式、健壮性、安全性等。 Java核心...
根据提供的信息,“Java核心技术-基础知识(第8版)”这本书主要关注于Java编程语言的基础知识,适合初学者以及希望深入理解Java核心概念和技术的开发者。尽管给出的部分内容仅是一串数字,无法直接从中提取具体的知识...
这本书深入浅出地讲解了Java语言的核心概念和技术,旨在帮助读者掌握Java编程的基础与精髓。书中涵盖了广泛的Java知识,包括语法、面向对象编程、集合框架、多线程、I/O流、网络编程、数据库连接等。 1. **Java语法...
CoreJava文件可能包含了书中讨论的Java核心概念的实际代码示例,这些示例涵盖了从基础到高级的广泛主题。读者可以通过阅读和运行这些代码来加深对Java的理解,并将理论知识转化为实践能力。 总的来说,"Java核心...
这份"Java核心编程Java课件ppt"是为初学者设计的,旨在帮助他们掌握Java编程的基础知识。以下是一些主要的学习点: 1. **Java简介**:Java是由Sun Microsystems开发的,后来被Oracle公司收购。它被设计成“一次编写...
"JAVA-核心,学习资料"这个资源显然提供了深入理解Java核心概念的重要教材。以下是对Java核心知识点的详细解析: 1. **基础语法**:Java的基础语法是学习的起点,包括变量声明、数据类型(如基本类型和引用类型)、...
使用场景及目标:适用于面试准备阶段,帮助求职者全面复习Java基础知识,加深对Java核心概念的理解。通过练习这些面试题,能够更好地掌握Java编程技巧。 其他说明:文档内容详尽,包含了大量的面试题目及其解答,...
《Java核心技术卷一第10版》是Java编程学习者不可或缺的经典教材,它全面覆盖了Java语言的基础和核心概念。本书适用于初学者以及希望巩固基础知识的开发者,旨在帮助读者掌握扎实的Java编程技能。 首先,Java是一种...