`
guiqing85
  • 浏览: 162767 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA的核心概念

阅读更多
接口(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也起到一定作用。

    浅谈java中的四个核心概念

    Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少。现在介绍下java的四个核心概念:

    Java核心技术 第12版 开发基础+高级特性 英文原版

    伴随着Java的成长,《Java核心技术》从第1版到第11版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。 本书经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百...

    Java面试题精选与解析.md

    课程简介 欢迎参加本次Java面试题课程!作为一门广泛应用的编程语言...掌握Java核心概念和基础知识。 理解Java面试常见题型和解题思路。 提升解决问题的编程能力和思维逻辑。 准备充分,信心满满地应对Java相关的面试。

    Core-Java:Java简介和Java核心概念的示例

    核心Java概念和已解决的问题

    java 核心编程 java

    《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...

    深入剖析Java序列化:挑战复杂的面试题与详细解析

    对Java序列化的深入了解不仅可以展示你的编程技能,还能体现出你对Java核心概念的掌握。本文精选了20道复杂的Java序列化面试题,并提供了详细的解析,旨在帮助你更好地理解Java序列化的原理、应用和相关问题。通过...

    类和对象的核心概念new1---马克-to-win Java视频

    类和对象的核心概念new1---马克-to-win java视频 马克Java社区 马克towin

    Java NIO核心概念总结篇

    这是学习Java NIO过程中总结的核心概念,里面包含了基本的知识点,详细知识点也可以查看我的博客:pcwl_java里的Java NIO篇

    Java面试宝典和毕设PPT模板

    确保你对Java核心概念和相关的API有很好的理解。 数据结构和算法:了解常见的数据结构(如数组、链表、栈、队列、树、图等)以及经典的算法(如排序、搜索、动态规划等)。准备解释各种数据结构和算法的工作原理,...

    Java核心技术:基础知识 卷I(原书第10版)

    Java核心技术:基础知识-卷1(原书第10版)是Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖).与《Java编程思想》齐名,10余年全球畅销不衰,广受好评.第10版...

    JAVA核心知识点整理.pdf

    Java中的多态性指在一个类实例化时,它可以引用多种不同类型的对象并自动调用适当的方法。这个特征让Java程序员能够更加灵活地编写...总之,多态性允许我们创建更加灵活和可扩展的程序,这是Java编程的核心概念之一。

    JAVA 核心技术基础篇1

    《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性...

    Java 并发核心编程

    这篇指南主要是为帮助java多线程开发人员理解并发的核心概念以及如何应用这些理念。本文的主题是关于具有java语言风格的Thread、synchronized、volatile,以及J2SE5中新增的概念,如锁(Lock)、原子性(Atomics)、并发...

    Java的四大核心技术

    Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可...这里所介绍的是Java技术平台的几个核心概念,其中所蕴含的思想有助于我们更深刻的理解Java技术

    java核心技术 卷1

    java领域最有影响力和价值的著作之一,与编程思想齐名,系统全面的讲解了java的核心概念语法,重要特性和开发方法,包含大量案例,实践性强。

    java核心技术(英文版)

    java核心技术可以帮助初学者更加了解相关概念和知识

    JavaScript核心概念及实践 高清PDF扫描版 (邱俊涛).pdf

    第二部分包括第8章到第16章,着重讨论了JavaScript支持的编程范式、核心概念的延伸、JavaScript的前端开发框架、测试框架、JavaScript引擎、JavaScript在Java,C、C++等应用中的使用,以及服务器端的JavaScript应用...

Global site tag (gtag.js) - Google Analytics