一、接口

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. httpHandlers与Http处理程序

    ASP.NET HTTP 处理程序是响应对 ASP.NET Web 应用程序的请求而运行的过程(通常称为"终结点").最常用的处理程序是处理 .aspx 文件的 ASP.NET 页 ...

  2. C# Enum Name String Description之间的相互转换

    最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 public enum Weekday { [Descriptio ...

  3. EC笔记,第一部分:4.确定对象初始化

    04.确定对象初始化 将对象初始化,C++反复无常,所以在使用前应该手动初始化 1.分清赋值与初始化 以下例子: class test{ public: int a; test(){ a=0;//赋值 ...

  4. python征程2.0(python基础)

    1.python中有一些基本规则的特殊字符. (1)#表示这后的字符为python注释. (2)\n标准的行分隔符. (3)\继续上一行.(也就是过长的语句可以使用反斜杠(\)分解成几行) ) and ...

  5. Lind.DDD.Caching分布式数据集缓存介绍

    回到目录 戏说当年 大叔原创的分布式数据集缓存在之前的企业级框架里介绍过,大家可以关注<我心中的核心组件(可插拔的AOP)~第二回 缓存拦截器>,而今天主要对Lind.DDD.Cachin ...

  6. JMeter专题系列(三)元件的作用域与执行顺序

    1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...

  7. 去 IOE,MySQL 完胜 PostgreSQL

    本文转载自: http://www.innomysql.net/article/15612.html (只作转载, 不代表本站和博主同意文中观点或证实文中信息) 前言 上周参加了2015年的中国数据库 ...

  8. Xdebug文档(二)变量显示特性

    Xdebug能替代PHP的var_dump()函数来显示变量值.xdebug的版本包含对不同数据类型作数组元素/对象属性.最大深度和字符串长度以不同颜色标识.这里也有一些功能能很好地处理变量显示. 相 ...

  9. 使用 jQuery & CSS3 制作美丽的照片画廊

    在本教程中,我们将创建一个很好看的照片画廊效果.我们的想法是,以显示专辑作为一个滑块,而当这张专辑被选中,我们将使用一个美丽的照片堆栈展示专辑的图像.在照片堆栈视图,我们可以通过将最上面的图像移动到所 ...

  10. 标准BST二叉搜索树写法

    本人最近被各种数据结构的实验折磨的不要不要的,特别是代码部分,对数据结构有严格的要求,比如写个BST要分成两个类,一个节点类,要给树类,关键是所以操作都要用函数完成,也就是在树类中不能直接操作节点,需 ...