一、接口

Java语言不允许一个子类拥有多个直接父类,即任何子类只能有一个直接父类。但允许一个类实现多个接口,即在定义类的接口名称列表中可以包含1个或多个接口名称,从而实现多重继承的特性。接口的定义格式如下:

【接口修饰词列表】 interface 接口名 【extends 接口名称列表】

{

接口体

}

接口修饰词列表可以包含0个、1个或者多个接口修饰词。如果存在多个接口修饰词,则在相邻两个接口修饰词之间采用空格分隔开。接口修饰词包括:public、abstract和strictfp等。在同一个Java源文件中可以包含多个类或接口,但不能包含两个或者两个以上的具有public修饰词的类或者接口。如果在接口修饰词列表中不含关键字public、protected和private,则在上面定义的接口具有默认的封装访问控制属性,只能在当前的软件包中使用。

接口名可以是任意的合法标识符。

Extends  接口名称列表是可选项,如果包括extends j接口名称列表这一选项,则在接口名称列表中可以包含1个或者多个接口名称,则在相邻两个接口名称之间采用逗号分隔开。

接口体部分可以定义接口的两类成员要素:成员域和成员方法。在接口体内部不含构造方法,因此一般不能直接通过接口生成接口的实例对象。其中,接口的成员域,简称为域,其定义格式如下:

【域修饰词列表】 类型 带初始化的变量名称列表;

接口的所有成员域都具有public、static和final属性。

接口的成员方法,简称为方法。接口的成员方法只能是抽象成员方法,其定义格式如下:

【方法修饰词列表】 返回类型 方法名(方法的参数列表);

接口的所有成员方法都具有public和abstract属性。

二、变量作用域范围

在Java语言中,变量主要包括成员域、成员方法或构造方法的参数变量、在方法体内的局部变量。变量作用域范围指的是变量在Java程序中的有效范围。变量作用域范围可以分为三种:全局作用域范围、类作用域范围和块作用域范围。具体如下:

(1)全局作用域范围

静态成员域具有全局作用域范围。

(2)类作用域范围

不具有静态属性的成员域具有类作用域范围。在该成员域所在类型或其子类型的不具有静态属性的成员方法的方法体中可以直接访问不具有静态属性的成员域,即使成员方法的定义在成员域的定义前面。

(3)块作用域范围

成员方法或构造方法的参数变量以及在方法体内定义的局部变量具有块作用域范围。这里成员方法或构造方法的参数变量以及在方法体内定义的局部变量,统称为局部变量。局部变量的作用域从该变量的声明处,一直到该变量所在的块结束处。

三、方法调用的值传递方式

方法调用的参数传递方式指的是在方法调用时从方法的调用参数代入到方法定义的参数的方式。在Java语言中,方法调用的参数传递方式基本上都采用值传递方式。成员方法的声明格式如下:

【方法修饰词列表】 返回类型 方法名(方法的参数列表)

方法调用的格式有如下3种形式:

(1)成员方法名(成员方法调用参数列表)

(2)表达式.成员方法名(成员方法调用参数列表)

(3)类名.静态成员方法名(成员方法调用参数列表)

在方法调用时,要求调用参数与成员方法的定义参数个数相同,而且类型相匹配。

在进行方法调用时,首先将调用参数表达式的存储单元的内容复制给定义参数变量的存储单元,即将调用参数表达式的值赋值给定义参数变量,从而使得定义参数变量的值与调用参数表达式的值相同,这个过程称为参数传递。

另外,需要特别注意的是:参数的值传递不能改变调用参数变量的值,如果需要改变调用参数变量的值可以采用引用数据类型值的传递。(这类似于C语言中的指针,使用指针传递值才能改变调用参数变量的值)

Java基础知识笔记(七:接口、变量作用域和参数传递)的更多相关文章

  1. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  2. Java基础知识笔记第六章:接口

    接口 /* 使用关键字interface来定义一个接口.接口的定义和类的定义很相似,分为接口声明和接口体 */ interface Printable{ final int max=100; void ...

  3. 漫漫Java路1—基础知识3—数据类型和变量作用域以及常量

    强类型语言 所有变量定义后才能使用,区别于js等弱类型语言 数据类型分类 基本类型(primitive type) 引用类型(reference type) 整数类 byte:占1字节 short:占 ...

  4. Java基础知识笔记(一:修饰词、向量、哈希表)

    一.Java语言的特点(养成经常查看Java在线帮助文档的习惯) (1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言.它去掉了C和C++最难正确应用的指针和最 ...

  5. Java基础知识笔记第七章:内部类和异常类

    内部类 /* *Java支持在一个类中定义另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类 */ 重要关系: /* *1.内部类的外嵌类在内部类中仍然有效,内部类的方法也可以外嵌类的方 ...

  6. JAVA基础知识笔记

    1.类只能用Public修饰,不能使用protected.private修饰.也可以不加修饰符,称做友好类. 2.类的实体元素包含成员变量和方法的定义,成员变量分为实例变量和类变量(static修饰的 ...

  7. Java基础知识笔记(八:集合类)

    目录 1  集合类简介  2  List介绍及简单使用 2.1  LinkedList介绍及简单使用 2.2  ArrayList介绍及简单使用 2.3  Vector介绍及简单使用 2.3.1  S ...

  8. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

  9. Java基础知识笔记(二:泛型和枚举)

    1.泛型 与面向对象的多态性相类似,应用泛型可以提高程序的复用性.与多态性不同的是,应用泛型可以减少数据的类型转换,从而提高代码的运行效率.泛型实际上是通过给类或接口增加类型参数实现的.不带泛型的类的 ...

随机推荐

  1. 解决Android工程里的xml文件自动提示问题

    昨天晚上看某培训机构的Android的 视频教程,看到他在写布局的XML文件时,有很方便的自动提示功能.我就在自己的Eclipse里试了一下,可是我的没实现.就到网上查,很多都说:在 Window-& ...

  2. 《疯狂Java讲义》学习笔记——第2章 理解面向对象

    面向对象的三种基本特征:继承,封装,多态 UML(统一建模语言) 2.1 面向对象 2.1.1 结构化程序设计简介 图2.1  结构化软件的逻辑结构示意图 从图2.1可以看出,结构化设计需要采用自顶向 ...

  3. 微信公众平台自动回复wechatlib.jar的生成及wechatlib解析

    微信公众平台出来有一段时日了,官方提供的自动回复的接口调用大致是这么些类型(text/image/location/link),每个项目都如此拷贝代码,在笔者看来比较麻烦,今天乘着点闲暇的时间特意将这 ...

  4. Linux(二)__文件目录、常用命令

    一.linux下的文件目录 linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层 是根目录"/",然后在此目录下再创建其他的目录 深刻理解linux文件目录是非常重要 ...

  5. Maven学习随笔二——Maven初始配置

    到现在为止,我对maven的理解是,跟svn差不多,帮我们管理项目的工具,到底是不是这样,拭目以待!! 弱弱解释,svn是什么? 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每 ...

  6. RequireJS+JQueryMobile

    RequireJS提供了JS下模块化开发的充分条件.之前我自己也在多个项目中尝试模块化开发,但是由于没有类似RequireJS这样的框架,最后的效果都不是很理想. 在RequireJS中,所有的JS都 ...

  7. (有趣)chrome不同浏览器版本对display:flex和溢出隐藏显示省略符号的bug

    项目中碰到一个十分有趣的情形: 布局要求是这样:右边创建新订单是固定宽度80px,左侧是自适应宽度,溢出隐藏.如下图. 这里布局不用说肯定使用display:flex的.左侧flex:1;右侧widt ...

  8. 参加了iDOF2016会议,发表演讲“油田SOA与云平台的系统思考与实践”

    PPT的全部抓图,扫描二维码直接到微信里去看吧:

  9. UIWindow

    title: UIWindow相关知识date: 2016-1-21 20:50categories: IOS tags: UIWindow 小小程序猿我的博客:http://daycoding.co ...

  10. iOS 疑难杂症 — — 复制 Storyborad 莫名崩溃

    声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 复制无处不在,用 Story ...