Java基础---继承、抽象、接口】的更多相关文章

一个对象变量(例如,变量e)可以引用多种实际类型的现象被称为多态(polymorphism). 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding). 在Java程序设计语言中,对象变量是多态的.一个Employee变量既可以引用一个Employee 类对象,也可以引用一个Employee类的任何一个子类的对象(例如,Manager.Executive等等). 动态绑定——这个是难点也是重点. Object是所有类的超类.在Java中,每个类都是由它扩展来的.…
38.利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) 此方法要求能够:1.用传递过来的对象调用computer方法完成运算 2.输出运算的结果 (4)设计一个测试类,调用UseCompute中的方法us…
Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可以不存放重复元素,那么我们知道List中是可以存放重复元素的.那么不重复元素给哪里存放呢?那就是Set接口,它里面的集合,所存储的元素就是不重复的. 一.Set接口的特点 一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2…
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?接下来我们一起Collection中的常用子类之一的:List集合. 一.List接口介绍 有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素.与…
Java基础-通过POI接口处理xls 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.…
Java基础--继承     一.类的继承: 规则: 1.一个子类只能有一个父类,但一个父类可以有多个子类,每个子类都可以作为父类使用. 2.若一个类没有声明父类,则默认其父类为Object. 3.父类的方法可通过super调用.   格式: class 父类名 //父类 { void text() { System.out.pringtln("父类方法调用成功"); } } class 子类名 extends 父类名 //子类继承父类的全部成员(除了私有成员) { super.tex…
一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类.例如:猫和豹子都是猫科动物,那么就可以说描述猫这个对象创建的类,是子类:而描述猫科动物这个对象创建的类,就是父类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class Sonexte…
原文链接:http://www.cnblogs.com/xdp-gacl/p/3651121.html 一.接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如"金丝猴是一种动物",金丝猴从动物这个类继承,同时"金丝猴是一种值钱的东西",金丝猴从"值钱的东西"这个类继承,同时"金丝猴是一种应该受到保护的东西",金丝猴从"应该受到保护的东西"这个类继承.这样金丝猴可以同时从 "动…
浏览以下内容前,请点击并阅读 声明 一个由其他类继承的类叫子类(也叫继承类,扩展类等),该类继承的类叫父类或超类.除了Object类意外,所有的类都有切仅有一个父类,如果一个类没有用extends关键词声明父类,则该类隐含继承Object类,因此如果一个类继承另外一个父类,而该父类可能又是继承的另外一个类,最终的起点在Object类. java中继承的概念简单而强大,当你需要定义的一个类中的许多代码已经在另外一个类中存在时,我们就可以选择定义时继承该类,这样免去许多书写和调试的麻烦,子类能够继承…
抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 抽象定义: 抽象就是从多个事物中将共性的,本质的内容抽取出来.     例如:狼和狗共性都是犬科,犬科就是抽象出来的概念. 抽象类: Java中可以定义没有方法体的方法,该方法的具体实现由子类完 成,该方法称为抽象方法,包含抽象方法的类就是抽象类. 抽象方法的由来: 多个对象都具备相同的功能,但是功能具体内容有所不…
为什么Java里面只允许单一继承,但允许实现多个接口? 1,为什么不能实现类的多继承?主要是防止多个类有相同的方法名,然而方法体不一样,子类就比较难选择了.所以java和C#不支持类的多继承2,允许具有多个接口的一个好处就是,当实现多个接口时,如果两个接口有同样的方法,由于接口没有方法体,那么实现一次就可以了.Java 中的接口定义有基本上就是像C++中含虚函数的抽象类.   抽象类继承和接口的区别与使用 假设有一个抽象类Door,有两个方法open和close,此时我们想新建一个类AlarmD…
一.接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴是一种应该受到保护的东西”,金丝猴从“应该受到保护的东西”这个类继承.这样金丝猴可以同时从 “动物类”.“值钱的东西类”.“应该受到保护的东西” 这三个类继承,但由于JAVA只支持单继承,因此金丝猴只能从这三个类中的一个来继承,不能同时继承这三个类.因此为了封装现实生活中存在的多重继承现象,为了实现…
1.在c++中有继承和多重继承,而java中只有单继承.继承的好处在于可以复用一些东西,但缺陷在于后续不好扩展.此外,可读性方面继承也不好. 2.java中多了一个接口的概念,而接口的功能和其名字表达的一样,就是在说这是一个接口,传什么参数,实现什么功能,返回什么结果.至于怎么实现,那就是具体的类的事情了. 3.继承和接口的区别:继承可以写一个完整的方法,而接口只是一个方法声明而已.  如果复用的代码除了方法声明还有方法体,那继承比较合适.  如果只是方法声明一样,具体的实现方法各自不同,那接口…
1.抽象类 在Java语言中使用abstrac关键字来定义抽象类和抽象方法,抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号. public abstract class Employee { private String name; private String address; private int number; public abstract double computePay(); //其余代码 } 抽象类总结: 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报…
抽象类.接口.多态都是面向对象中很基础的东西,我相信看到能本篇博客的人本不会再纠结它的基本定义了,本篇文章将尽量的更加深层次的挖掘其内涵,希望能对大家有帮助. 一.抽象类 1.形式 abstract class Ceshi { abstract void show(); } class DemoA extends Ceshi { void show() { System.out.print("Hello world"); } } 2.特点 a.抽象类不可以被实例化 b.抽象类必须有其子…
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类       我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal(),我们都知道这个是产生一个动物Animal对象,但…
1.   在Java程序语言中,接口是对类的一种描述.例如Arrays类中sort方法声明可以对对象进行排序,但前提是对象所属的类必须实现Comparable接口. public interface Comparable<T> { int compareTo(T other); } public interface Comparable{ int compareTo(Object obj); }   接口中的所有方法自动地属于public,不必提供关键字.接口可以定义常量,但不能有自己的实例域…
  就像类一样,接口也是引用类型.它可以包含常量,方法签名,默认方法,静态方法和嵌套类型.在接口中,只有默认方法和静态方法有方法体.但不同于类,接口无法实例化,它只能被类实现或被其他接口继承. 一.定义接口   接口的定义由修饰符.关键字interface.接口名.extends关键字(接口可以继承并且支持多继承)和若干继承的父接口(如果有的话)以及接口体组成,语法如下(方括号表示可选内容): public interface DoIt [extends Interface1, Interfac…
子类继承父类的private字段么? Oracle的Java Documentation对Inheritance的定义: 很直白,定义里面就告诉你了这不叫继承.继承的意思是你可以对其进行直接的调用和修改.通过父类public的set get 方法去间接的修改,不算继承. 那为什么很多网络答案依然说“继承”了父类? 因为他们错误理解了“继承”的含义,曲解为类似“子类是否包含了父类”,“子类实例化时,父类是否有分配内存” 之类的. 首先在构造一个类的时候,会上溯至Object去构造它的所有父类, 详…
接口 什么是接口? 生活中也有很多的接口,比如USB接口.定义了接口就是定义了调用对象的标准. 接口基本语法 1.使用interface定义:2.接口当中的方法都是抽象方法:因为抽象函数不能生成对象,因此接口也不能生成对象:3.接口当中的方法都是public权限; 4.实现接口用implements关键字: 5.一个类可以实现多个接口,比如手机既可以支持USB,也支持WIFI: 6.一个接口可以继承多个接口: 实现接口用implements关键字 public class USBPhone im…
类的继承 Java只支持单继承,不允许多重继承- 一个子类只能有一个父类- 一个父类可以派生出多个子类这里写图片描述子类继承了父类,就继承了父类的方法和属性.在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法.因而,子类通常比父类的功能更多.在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”. 关于继承的规则:    子类不能继承父类中私有的(private)的成员变量和方法. 访问控制 可以对Java类中定义的属性和方法进行访问控制…
------- android培训.java培训.期待与您交流! ---------- 抽象定义:           抽象就是从多个事物中将共性的,本质的内容抽取出来.           例如:狼和狗共性都是犬科,犬科就是抽象出来的概念.  抽象类:           Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类.  抽象方法的由来:           多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程…
/* 类的继承 类的继承可以简化类的定义 java只支持单继承,不允许多重继承 可以有多层继承,即一个类可以继承其一个类的子类,如类B继承了类A,类C又可以继承类B 那么类C也间接继承了类A 子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法, 在子类的构造方法中可使用语句super(参数列表) 调用父类的构造方法 如果子类的构造方法中没有显式地调用父类构造方法,也没用使用this关键字调用重载的其它构造方法,则在产生子类的实例对象时 系统默认调用父类无参数的构造方法 子类对象的实例化…
(一).静态: 1.静态方法里只能访问静态变量,静态变量是类所特有的,所有类实例都作用同一个变量 静态随着类的加载而加载 (二). 抽象:抽象相当于接口,没有方法体,只定义方法,让子类实现,抽象类中可以存在非抽象方法, 抽象方法必须在抽象类中.子类继承抽象类,只能单继承,实现接口可以实现多个. (三), 继承:java中只支持单继承,但是可以多重继承. 1.方法重写:子类重写父类方法,要求方法名,返回类型,参数个数及类型都一样,访问权限不能严于父类 2.方法重载:类中的方法重载,要求其它都一样,…
抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstract修饰,在抽象类中的方法不写abstract也默认的是抽象方法. 3.不能用new来创建对象,调用抽象方法没意义. 4.抽象类中的方法被使用,必须由子类覆写其所有的抽象方法后,才能建立子类对象进行调用. 如果子类只覆盖了部分的抽象方法.那么该子类还是一个抽象类. 5.抽象类不可以被实例化. 继承…
之所以将抽象类和接口放在一起做笔记,是因为他们之间很难区分又各自独立.在学习完Java程序设计的三大特点(封装.继承.多态)之后,我最大的收获是,慢慢理解了Java语言这种面向对象程序设计的优越性,它既能保持自身独立性又在不断进化.发展的.如果说封装和继承是实现Java多态性的基础,那我个人觉得抽象类和接口更是为多态提供了非常好的支持. 一.抽象类 从形式上来说,用abstract修饰的类就是抽象类.抽象类是不完整的,只能做基类,且不能够实例化(不能new). 通俗来讲,抽象类它本身不做任何事情…
接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计.请记住:一切事物均有功能,即一切事物均有接口. 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字.定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这点可以让我们将接口看做是一种…
在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样? 动手做实验: interface A{ void fun(); } interface B{ void fun(); } interface C extends A,B{ } public class Test implements C{ @Override public void fun() { System.out.println("hehe"); } public static void main…
个人理解: Set接口是Collection接口的子类,其继承了所有方法,HashSet集合则实现了Set接口,其内部存储数据时依靠哈希表,一个类似数组和链表的结合体.设置空集合时,存在默认的容量和加载因子,再用HashSet对象调用add方法时,其实是先比较其Hash值,若是没有的话,则直接添加到集合中,若有的话,则再equals下比较其内容(因为有可能内容不一样,但是其Hash值一样),若是内容不一样,则在这个地址下添加(链式),若是一样的话,则丢掉.注意就保证了其的唯一性.(以后定义变量时…
在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的. public interface JDK8BeforeInterface { public static final int field1 = 0; int field2 = 0; public abstract void method1(int a) throws Exce…