JAVA类的继承,封装,多态,以及接口的一些信息

原创 2015年11月21日 01:34:07
JAVA类的相关信息:


1.类的继承,Java只支持单一继承,也就是只有一个父类,利用extends 关键字继承,例如:
class A{ };
class B extends A{ };
class C extends A,B{ };//这是错误的,不能同时继承多个父类;
但是Java中允许多层继承:
class A{ };
class B extends A{ };
class C extends B{ };


2.如果在子类中重写了父类的方法后,要再次使用父类的方法,那么要用super.方法名();


3.如果子类的构造方法中没有显式地调用父类构造方法,也没有使用this关键字调用重载的
其它构造方法,则系统默认调用父类无参数的构造方法,相当于省略了super();语句


4.在子类的构造方法中可使用语句super(argument_list)调用父类的构造方法,但必须作
为构造方法的第一条句。


5.用关键字abstract修饰的类称为abstract类(抽象类);
   它的特点:和普通类相比,abstract类可以有abstract方法。对于abstract方法,只允许声明,
不允许实现,而且不允许使用final修饰abstract方法。对于abstract类,我们不能使用new运算
符创建该类的对象,需产生其子类,由子类创建对象,如果一个类是abstract类的子类,它必须
具体实现父类的abstract方法,这就是为什么不允许使用final修饰abstract方法的原因。


6.接口声明:接口与类属于同一层次,实际上,接口是一种特殊的抽象类。在Java中接口定义同类
的定义很相似,分为接口声明和接口体两部分。接口通过interface关键字声明,接口体中只能包
含全局常量和抽象方法,接口的变量自动是public static final属性,接口中的方法自动是
public abstract属性,并没有方法体,以分号结尾。
格式: [public] interface 接口名 [extends 父接口名表]{ 接口体;}
接口体包含常量定义和方法定义,
 
例如:
 
interface IA{
 
   public static final int MAX=100; //全局常量
 
   public void print();  //抽象方法
 
   public abstract int sum();    //抽象方法
 
}
 
注:
 
1)   public interface:公开接口,与类相似,一个文件只能有一个public接口,且与文件名相同。
 
2)   在一个文件中不可同时定义一个public接口和一个public类。
 
3)   接口和接口之间可以定义继承关系,并且接口之间允许实现多重继承。
例:interface IC extends IA,IB{   };//允许多重实现


7.一个类除了继承另一个类之外,还能实现接口:例如
class IAImpl extends java.util.Arrylist implement IA,IB{}
1)   一个类实现了某个接口,则必须实现接口中的所有方法,如果没有实现接口中的所有方法,
则此类一定是抽象类。因为一个类实现接口,相当于它继承一个抽象类。
 
2)   接口中方法可不写public,但在子类中实现接口的过程中public不可省。(如果省去public则
在编译的时候提示出错:对象无法从接口中实现方法,相当于降低了重写方法的权限。)


3)   如果父类实现了某个接口,子类不需要使用implements关键字声明就可以使用此接口。
 
4)   接口也可以用于定义对象


接口使用案例:
interface IDetail{  
       public String detail();  
}  
class Teacher implements IDetail {  
       private String name;  
       private int age;  
       private String type;  
       public Teacher(String name, int age, String type) {  
              this.name = name;  
              this.age = age;  
              this.type = type;  
       }  
      // 返回教师详细信息  
       public String detail() {  
              return "姓名:" + name + ",年龄:" + age + ",教师类型:" + type;  
       }  
}  
class Printer {  
       public void print(String s) {  
              System.out.println(s);  
       }  
}   
class MedicalInspection implements IDetail{  
   
       Printer printer = new Printer();  
       // 返回体检中心信息  
       public String detail() {  
              return "这里是滨州市体检中心,欢迎您的到来!";  
       }  
   
       // 打印detail信息  
       public void printDetail(IDetail d) {  
              printer.print(d.detail());  
       }  
}  
public class ExDemon03 {  
   
       public static void main(String[] args) {  
   
              MedicalInspection mi=new MedicalInspection();  
              IDetail t = new Teacher("李四", 33, "Java");  
   
              mi.printDetail();// 打印教师信息  
                mi.printDetail(mi);// 打印中心信息  
       }  
}  
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍

java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍,this,super,构造方法的使用介绍...

Java基础之封装、继承、多态、接口详解

面向对象的分析与设计(OOA&D)方法是一种非常成熟的技术。也是当前商业公司经常使用的一种技术,因为JAVA语言本身就是一种面向对象的语言,所以掌握面向对象这种技术对于JAVA语言的应用具有重要意义。...

Java面向对象的基本概念(对象、封装、继承、多态、抽象、接口、泛型)

对象:是一个自包含的实体,用一组可识别的特征和行为来标识。

Java学习笔记(一)----封装 继承 多态 抽象 接口

包装 -- 对外隐藏特征和行为,内部实现细节 封装有利于程序的安全 -- 使用private修饰符私有化类的属性和方法 -- encapsulation -- 隐藏对象中的字段 -- 提供...

黑马程序员——Java面向对象(二)之封装、继承、多态、接口等

五、面向对象的特征 面向对象主要有三大特征: 1.封装 1)定义:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 2)好处: a)将变化隔离。 b)便于使用。 c)提高重用性。 d...

浅谈利用多态,继承和接口来封装代码,提高Java代码的可扩展性

一个人做项目的时候是最爽的, 因为可以肆无忌惮的按照自己的想法去"策马奔腾", 因为往往会优先选择实现成本最低且个人偏好的方式去实现, 简单的说就是, 怎么爽就怎么做.这样的情况,项目在实现时候如果只...
  • stzy00
  • stzy00
  • 2014年10月14日 16:01
  • 1961

java 中什么时候用抽象类,什么时候用 接口(面向对象的继承与多态)

抽象类:强调的是把共同(共有、相同)的属性方法, 抽象出来,统一写在一个地方(他们的实现代码是一样的),方便维护。 接口: 抽象的是行为 - 同一种行为的不同实现方式。当多个对象都拥有相同的行为,但是...

java的继承 多态 类和接口

先说点小东西,会的请直接省略不看: 定义动态二维数组方法: 方式一: 数据类型[][] 变量名 = new 数据类型[m][n];   m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素...

Java学习笔记-对象-继承-接口-多态-内部类

1.类和对象的区别:对象是一个实例,类对对象进行描述。 2.成员变量:成员变量作用于整个类中。堆内存中。 3.局部变量:局部变量作用于函数中。栈内存中。 4.匿名对象:作为实际参数传递,简化书写。 5...

java [继承]-[接口]-[抽象类]-[多态]-[Object]

------- android培训、java培训、期待与您交流!   ---------- 父类与子类关系继承关系抽象类接口多态  多态的体现多态的前提多态的好处多态的弊端  多态中成员的特点Ob...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA类的继承,封装,多态,以及接口的一些信息
举报原因:
原因补充:

(最多只允许输入30个字)