1、类:

类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性和方法两个主要部分。

Java中的类实现包括两个部分:类声明和类体。

 1.1类的声明格式:

[pbulic] [abstract/final] class className [extends Parentname]  [implements ]

{Iname1,Iname2...} 其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。

 1.1.1访问修改符(默认,private,public,protected):
private:私有。只能被当前class的花括号中的代码访问到。出了这个花括号,访问不到了。
public:公有。能被当前class花括号内访问。也能被其它位置的对象访问。

默认:在当前class花括号中可以访问。当前包中的其它类中也可以访问。出了当前包,就访问不到了。

protected :可以被同一个包及其它包中的派生类访问。

1.1.2abstract :

1.抽象类:不知道是具体什么东西的类,可以没有抽象方法。抽象类不能直接用new。

定义方式:abstract class 类名。

抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。

2.抽象方法:不知道具体是干什么事情的方法,没有函数体。abstract 返回类型 函数名(形参)。抽象方法的类必须是抽象类。

抽象类的派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。

以后遇到抽象类,两种用法:1.找找有没有它的派生类,用它的派生类。2.自己写一个类,派生自这个抽象类。

1.1.3 final

final可以修饰成员变量,成员方法,类。

final修饰成员变量——当常量来用。

final修饰类。此类不能被继承。

final修饰方法。此方向不许被重写。

1.2类体

class className{

[public | protected | private ] [static] [final] type  variableName;

//成员变量

[public | protected | private ] [static] [final | abstract] returnType methodName([paramList]) {statements}//成员方法

}

1.2.1成员变量

定义:访问修饰符 类型 变量名.

成员变量限定词的含义:

Private:私有。只能被当前class的花括号中的代码访问到。出了这个花括号,访问不到了。
public:公有。能被当前class花括号内访问。也能被其它位置的对象访问。

默认:在当前class花括号中可以访问。当前包中的其它类中也可以访问。出了当前包,就访问不到了。

protected :可以被同一个包及其它包中的派生类访问。

static: 静态变量

final: 常量;

成员变量的定义,如果不赋初始值,会使用默认值。而函数内的局部变量不赋值初始值会出问题。

成员变量可以被当前类的所有的成员函数都可以调用。而函数里面的变量只能在当前花括号中可以使用。

1.2.1 成员方法   访问修饰符 返回类型 函数名(形参){函数体}

方法的实现也包括两部分内容:方法声明和方法体。

1.2.1.1方法声明

方法声明中的限定词的含义:

static: 类方法,可通过类名直接调用

abstract: 抽象方法,没有方法体

final: 方法不能被重写

  方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型。

  方法体

  方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。为了区别参数和类的成员变量,我们必须使用this。this用在一个方法中引用当前对象。

  构造方法

构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象。

构造方法必须与类名相同。无返回类型。对象实例化时会被自动调用。一般是public。

重载经常用于构造方法。函数的重载:函数名相同,参数不同(数量,类型)。与返回类型无关. 调用重载了的函数的时,会跟据实参的情况自动寻找相应形参的函数,并调用。

构造方法只能由new运算符调用。当我们new一个对象的时候。

1.执行成员变量的定义。

2.构造函数的内容。

2、接口:

定义:

interface 接口名 [extends 父接口列表]{

final 类型 常量名=值;

public void 方法名(形参);

}

接口的实现

[abstract] class 类名 extends 父类(只能有一个) implements 接口列表{可以是多个,中间用“,“隔开。

接口定义的时候:

1.接口尽量的小,功能太复杂的接口是一种坏味道的接口。——接口分离原则。

2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。

JAVA中的类和接口的更多相关文章

  1. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  2. java 中的2个接口 Comparable和Comparator

    像Integer.String这些类型的数据都是已经实现Comparable接口的,所以对这些类型可以直接通过Arrays.sort(...)和Collections.sort(...)方法进行排序. ...

  3. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  4. 关于Java中基类构造器的调用问题

    在<Java编程思想>第7章复用类中有这样一段话,值得深思.当子类继承了父类时,就涉及到了基类和导出类(子类)这两个类.从外部来看,导出类就像是一个与基类具有相同接口的新类,或许还会有一些 ...

  5. Java开发知识之Java中的集合Set接口以及子类应用

    ---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...

  6. Java中Optional类的使用

    从 Java 8 引入的一个很有趣的特性是 Optional  类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都 ...

  7. 细说java中的类

    前言 最近在学习<java编程思想> 学到了内部类 类不就是class吗 天天用 还能讲出花来了不成... 其实不然,在java中,类的种类和使用方式多种多样,花样繁多.其中主要有 普通类 ...

  8. Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能

    Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...

  9. Java中Class类详解、用法及泛化

    Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方 ...

随机推荐

  1. MySQL显示中文

    http://www.cnblogs.com/livingintruth/p/3433259.html 这两天在学习webpy,把webpy的一个blog例子扒下来学习一下,默认创建的table当存入 ...

  2. mac os 禁止apache httpd自动启动(转)

    mac os 禁止apache httpd自动启动 博客分类: 计算机使用   mac os不像linux有/etc/init.d/rc.local以及service的方式可以设置程序随机启动,而是使 ...

  3. maven添加sqlserver的jdbc驱动包

    http://search.maven.org/中没有sqlserver的jdbc驱动,所以需要本地安装sqljdbc的jar包,然后再在pom里面引入 Step 1 在微软官网下载sqljdbc的j ...

  4. iOS NSURLConnection POST异步请求封装,支持转码GBK,HTTPS等

    .h文件 #import <Foundation/Foundation.h> //成功的回调 typedef void(^successBlock)(id responseObj); // ...

  5. OpenLayers元素选择工具

    OpenLayers的selector工具相信挺多人都没有用过,其实这个工具用处还是不少的.比如完成元素查询时,需要实现图属性联动,使用这个工具很方便.最近做项目时也使用到这个工具,使用起来确实挺方便 ...

  6. Mysql notes

    1. 数据库操作 database management create database sampleDatabase; --创建数据库sampleDatabase show databases; - ...

  7. Openfire Strophe IE跨域问题

    Openfire和Strophejs网站 域名不同如何进行通信,这个问题总算解决,下面是解决步骤. 解决方案一: Chrome浏览器默认支持跨域访问 IE浏览器需要做配置:点击IE浏览器的的“工具-& ...

  8. 【转】Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)

    下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程.这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端. 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系 ...

  9. [地图SkyLine二次开发]框架(4)

    继续上一节... 1.Extjs5.0版Menu. -将Extjs包引入MenuPage.html页. 2.前段用Extjs的MVC框架 -在根目录下创建app文件夹,文件夹下分别创建controll ...

  10. 关于javascript面向对象的详解!

    认识面向对象 1.面向对象中的概念 一切事物皆对象 对象具有封装和继承特性 信息隐藏 2.基本面向对象 3.函数构造器构造对象 深入了解面向对象 第一种书写格式 第二种书写格式