Java —— 继承与接口

原创 2016年08月30日 19:36:00

1、继承性

1)、private:不可继承。

2)、protected:同一包或不同包间均可继承。

3)、public:不限。继承性与protected同。

此外,不指定上述三者的友好型只限于同一个包内继承。


2、继承后的访问权限

1)、private:只限于自身类内的访问。

2)、protected:实际创建的位置,与声明的位置在同一包中则可访问。如:

A类有protected方法functionA,B类继承A类,C类继承B类,C类有独特的protected方法functionC。若在Other类中用C类创建一个对象object。则object能否访问functionA方法取决于Other类与A类是否在同一包中,能否访问functionC方法取决于Other类与C类是否在同一包中。

3)、public:不限。

简言之,private限于类内,protected限于包内,public不限。


3、super与this

1)、super:用于调用子类隐藏了的父类的成员变量或方法。

2)、this:用于类内调用被局部变量或参数隐藏了的成员变量。

即super与this关键字都可“去隐藏”。


4、final

final关键字可以修饰类、成员变量和方法中的局部变量。有时使用final是为了出于安全考虑。

final类不能被继承,final方法不能被重载或重写。


5、对象的上转型对象

上转型对象,即将子类实体的引用赋给父类对象得到的对象。

可操作的变量或方法:

对象:新增的变量或方法、继承或重写的方法、继承或隐藏的变量。

上转型对象:继承或重写的方法、继承或隐藏的变量。

说明:即上转型对象只能调用所转父类所具有的变量或方法,但特殊的是,如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。从子类对象的构造过程便可很好理解。

子类对象构造过程:子类创建对象时,相应的父类的变量与方法也开辟了内存空间,但父类开辟的空间中只有能被子类继承的变量或方法对应的空间被该子类对象引用(拥有),且父类中被该子类重写的方法的空间将不被引用,而是引用了子类重写后的自己的方法,所以上转型后,调用此方法,将是子类重写后的方法。


6、多态

多个子类重写父类的同一方法所产生子类不同行为的现象。


7、abstract类和abstract方法

abstract修饰的类为抽象类。特点:1、可有抽象方法、非抽象方法(也可没有抽象方法)、常量或变量。2、因为拥有抽象方法,所以不能用new创建对象。

(抽象类最终是必须会被继承的类,且子类必须重写抽象犯法,所以abstract方法不能同时用final修饰。)

意义与重点:

抽象类只关心操作,即只关心方法名字、类型及参数,但不关心这些操作具体实现的细节,即不关心方法体。抽象类的作用也正是为了表明某些方法的重要性,为总体设计起着指导作用,从而不必拘泥于细节的实现,具体细节由子类实现。


8、接口interface

Java不支持多继承性,即一个类只能有一个父类。单继承性使得java简单、易于管理。为了克服单继承的缺点,java使用了接口,一个类可以实现多个接口。

接口声明:

interface 接口名{

接口体(常量定义与方法定义,不能定义变量);//接口中常量与方法一定都是public的,但可省略public

}

注:实现接口的类重写接口方法时一定不能忽略public,否则就降低了接口方法的访问权限,导致出错。


9、接口回调

接口回调与上转型类似,只是将实现接口的类的对象引用赋给接口声明的变量。(关键:接口也可像类一样声明变量!)


10、接口多态

同普通的多态。

版权声明:转载请注明出处!

Java中继承、接口、多态的作用详解(纯理论)

一、继承、接口与多态的相关问题: 1、 继承的作用?好处?坏处? 继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继程java.lang.Object类得到的。继承而得到的类称为...
  • zxman660
  • zxman660
  • 2012年07月27日 14:52
  • 15085

java继承类与实现接口

java 继承 接口
  • hy771213
  • hy771213
  • 2017年03月29日 22:56
  • 1837

Java入门习题(四)——接口、继承和多态

Java入门习题 Java入门习题 接口继承和多态 1请根据要求补全代码 2请写出下列程序的运行结果 3请写出下列程序的运行结果 4请写出下列程序的运行结果 5请写出下列程序的运行结果接口、继承和多态...
  • qq_32583189
  • qq_32583189
  • 2016年05月15日 13:32
  • 683

java中继承与接口的区别

继承和借口都能实现代码重用,提高开发效率。接下来概述下两者的区别与特性。首先看接口,它一般由常量,方法(没有方法体)组成,其实质是定义一套规范供后者使用。比如说电脑生者商和其他配件生产商各自开发自己的...
  • zfireear
  • zfireear
  • 2016年03月01日 17:06
  • 2861

Java ——基础之继承与接口的区别

Java 基础之继承与接口的区别 抽象类:抽象类体现了数据抽象的思想,是实现多态的一种机制。它定义了一组抽象的方法,至于这组抽象方法的具体表现形式由派生类来实现。同时抽象类提供了继承的概念,...
  • zouzhigang96
  • zouzhigang96
  • 2016年01月06日 15:14
  • 7147

java继承和接口的区别

java继承和接口的区别
  • u012123938
  • u012123938
  • 2015年06月03日 23:41
  • 2734

关于Java中继承和接口的理解

关于Java中继承和接口的理解Java语言中,为了实现代码重用,设计了继承这一机制,但是,其设计成单继承,这样设计是有原因的,如下图:Figure1:deadly diamond of death此图...
  • u010999240
  • u010999240
  • 2015年07月24日 22:41
  • 1144

Java中的接口Interface是不是继承自Object?+ 复习基本概念

概要 今天遇见一个严肃的问题,说出大家看看, Java中的接口Interface是不是继承自Object? 下面一起来看看吧! 复习基本概念 为什么使用接口? There are mainly...
  • xidiancoder
  • xidiancoder
  • 2017年09月17日 16:13
  • 827

java接口的继承问题

序 在看API文档时,突然发现一个接口可以是其他接口的子接口,这说明接口之间会存在继承的关系。查找了相关的资料,做一个总结。 是继承还是实现 首先要搞清楚接口之间的关系使用的关键字是extends还是...
  • u010921701
  • u010921701
  • 2016年10月16日 16:14
  • 1181

java中子类继承父类和实现接口有同名方法怎么处理

Java是一门单继承语言,但是,在子类的继承关系中,会存在父类和接口有同名方法的情况,这种情况该怎么处理呢? 我们来一步步验证: 1.子类继承父类,实现接口,父类和接口有同名方法 public ...
  • xichengqc
  • xichengqc
  • 2017年10月28日 22:38
  • 185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java —— 继承与接口
举报原因:
原因补充:

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