1、        抽象类(abstract)

抽象类和抽象方法都必须用abstract关键字来修饰.

抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象.

抽象方法只需声明,而不需实现.此方法只声明了返回值的数据类型,方法名称与所需的参数,但没有定义方法体.

含有抽象方法的类类必须被声明为抽象类,抽象类的子类必须覆写所有的父类的抽象方法后才能被实例化,否则这个子类还是个抽象类类.例如:abstract class Person中声明一抽象方法talk   public abstract String talk();//并没有定义方法体,在继承Person的子类中再在覆写"public String talk(){................};".

与一般类相同,在抽象类中也可以拥有构造方法,但是这些构造方法必须在子类中被调用.例如:"super(name,age,occupation);注意:父类构造方法可以定义方法体.

抽象类也可以想普通类一样,有构造方法,一般方法和属性,更重要的还可以有一些抽象方法,留给子类实现,而且在抽象类中声明构造方法后,在子类中必须明确调用.

2、  接口(interface)

它的结构和抽象类非常相似,也具有数据成员与抽象方法,但它与抽象类又有一下两点不同.

接口里的数据成员必须初始化,且数据成员均为常量.

接口里方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,必须全部都是抽象方法.

Interface 接口名称   //定义抽象类

{

final  数据类型 成员名称=常量; //数据成员必须赋初值,且此值不能在更改

abstract   返回值的数据类型  方法名称 (参数......);

//抽象方法,注意在抽象方法里没有定义方法主体

}

事实上只要记住一下两点即可.

接口里的抽象方法只要做声明,而不用定义其处理的方式.

数据成员必须赋初值.

3、        每一个由接口实现的类必须在内部覆写接口中的抽象方法,且可自由地使用接口的常量.利用接口打造新的类的过程,称之为接口的实现(implementation).

Class 类名称 implements 接口A,接口B {}  //接口的实现,多个接口

4、       接口是是java实现多继承的一种机制,一个类只能继承一个父类,但如果需要一个类继承多个抽象方法的话,就明显无法实现,所以出现了接口的概念.一个类只可以继承一个父类,但却却可以实现多个接口.

Interface 子接口名称 extends 父接口1,父接口2...{}

5、        通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例.在成员的声明前面加上关键字static(静态的)就能创建这样的成员.如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象.你可以将方法和变量都声明为static.static 成员的最常见的例子是main().因为在程序开始执行时必须调用main() ,所以它被声明为static.(不用创建对象也可以调用static方法和变量)

例子:System.out//此处out为静态方法

6、        声明为static的方法称为静态方法或类方法.静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法.静态方法中不能使用this关键字,因为静态方法不属于任何一个实例.静态方法不能被子类的静态方法覆盖.

7、        外部类无法找到内部类中所声明的属性,而内部类则可以访问外部类的属性.

8、       用static可以声明属性或方法,而用static也可以声明内部类,用static声明的内部类则变成了外部类,但是用static声明的内部类不能访问非static的外部类属性.

9、         内部类也可以通过创建对象从外部类之外被调用,只要将内部类声明为public即可.(用public声明一个内部类,此内部类可被外部类访问).

10、      在方法中定义的内部类只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于一个常量,它的生命周期超出方法的生命周期.(内部类可直接引用外部类的方法和变量,但是要访问方法(内部类被定义的方法)中的变量要加上final声明).

11、      匿名内部类和匿名对象

用"new 类名()"声明出的对象并没有付给任何一个类对象的引用,所以此对象只使用了一次,之后就会被java的垃圾收集器回收.例子:System.out.println(new Person().talk());

12、    在在static方法内只能访问到static成员变量(包括数据成员和方法成员)之故,特别注意main()方法本身是是static的.

13、     如果要传递数组到方法里,只要在方法内填上数组的名称即可.例子:

int score[]={3,7,5,6,5,6,5}largest(score);

J2SE知识点摘记(四)的更多相关文章

  1. J2SE知识点摘记(二十四)

     覆写hashCode() 在明白了HashMap具有哪些功能,以及实现原理后,了解如何写一个hashCode()方法就更有意义了.当然,在HashMap中存取一个键值对涉及到的另外一个方法为equa ...

  2. J2SE知识点摘记(十四)

    1.        字符流 Reader是定义java的流式字符输入模式的抽象类,该类所有方法在出错的情况下都将引发IOException异常. Int read(char buffer[])     ...

  3. J2SE知识点摘记-数据库(二)

    一.          查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...

  4. J2SE知识点摘记-数据库(一)

    一.          数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...

  5. J2SE知识点摘记(二十六)

    为了用“集合框架”的额外部分把排序支持添加到 Java 2 SDK,版本 1.2,核心 Java 库作了许多更改.像 String 和 Integer 类如今实现 Comparable 接口以提供自然 ...

  6. J2SE知识点摘记(二十五)

    Set 1.5.1        概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个 ...

  7. J2SE知识点摘记(二十三)

    我们简单介绍一下这个接口: 1.4.3        Comparable 接口 在 java.lang 包中,Comparable 接口适用于一个类有自然顺序的时候.假定对象集合是同一类型,该接口允 ...

  8. J2SE知识点摘记(十八)

    Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1)  Collection . 一组对立的元素,通常这些元素都服从某种规则.List必须保持元素特定的顺序,而Set 不能有重复 ...

  9. J2SE知识点摘记(十七)

    1.        Applet Applet的生命周期分为四个阶段,各阶段分别由init,start,stop和destroy四种方法来具体体现. public void init() 此方法通知A ...

随机推荐

  1. 导出kettle数据转换设置

    在本地测试好的数据清洗配置,要转移到服务器上,就要用到导出数据转换设置. 一直是这使用是在导入设置的 时候总是提示不是kettle的文档格式.后来才发现这是资源库的配置,而不是数据转 换的配置. 导出 ...

  2. JQ----树杈型导航

    简单的做了一个树杈型的导航结构如下所示: 废话不多说,上代码: HTML: <div class="wrapper"> <div class="tabt ...

  3. Java中加载配置文件的集中方式,以及利用ClassLoader加载文件 .

    我们往常进行文件的加载的时候 用到的都是  FileInputStream进行 文件的加载比如下面一个例子 : InputStream in=FileInputStream("1.prope ...

  4. 如何使用composer?

    /** *@测试环境:我笔记本 本地xampp集成环境 *@操作系统:Windows 7 **/   安装方法:官方有很详细的介绍,这里就不重复造轮子了. 官方链接:http://docs.phpco ...

  5. HeadFirst设计模式读书笔记--目录

    HeadFirst设计模式读书笔记(1)-策略模式(Strategy Pattern) HeadFirst设计模式读书笔记(2)-观察者模式(Observer Pattern) HeadFirst设计 ...

  6. Delphi获取系统服务描述信息

    program Project1; {$APPTYPE CONSOLE} uses Windows, WinSvc; type SERVICE_DESCRIPTION = packed record ...

  7. zabbix 模版其实就是主机

    </pre><pre name="code" class="python">mysql> select hostid,host , ...

  8. psacct监视用户执行的命令,如cpu时间和内存战胜,实时进程记账

    psacct监视用户执行的命令,如cpu时间和内存战胜,实时进程记账

  9. C语言的本质(15)——C语言的函数接口入门

    C语言的本质(15)--C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能. 函数接口通过函数名,参数和返 ...

  10. cp | mv | rm

    linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp 命令格式: cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [opt ...