您的位置:首页 > 其它

抽象类 | 接口 | 包 | 访问控制

2017-08-12 21:27 381 查看
一、抽象类

以前我们定义一个类就需要写一些方法来描述这个类的具体行为,就像前面的Animal类,需要我们写shout方法,但是没个动物的叫声都不一样,所以Animal的shout方法方法体写什么都不太标准,这时候我们就可以不写方法体了。

不写方法体的方法叫做抽象方法,抽象方法需要用abstract来修饰

abstract void shout ();


如果一个类中有抽象方法,那么这个类就必须是抽象类,必须使用abstract来修饰。

但是! 但是! 但是抽象类可以没有抽象方法,只需要用abstract修饰即可。

注意!抽象类不能被实例化,因为抽象类中可能有抽象方法,抽象方法没有方法体,不可以被调用。如果想要调用,需要创建子类,在子类中进行实现。

二、接口

如果一个抽象类中所有方法都是抽象的,那么这个类就可以用另外一种方法来定义了,即接口。

接口使用interface关键字来声明

接口中的方法默认使用public abstract来修饰

接口中的变量默认使用public static final 即全局常量

以为接口中的方法都是抽象方法,所以也不能通过实例化进行调用,因此需要定义一个类,并使用implements关键字来实现接口中的方法。

程序中还可以定义一个接口用extends关键字去继承另一个接口。

接口总结

1、接口中的方法都是抽象的,不能实例化

2、当一个类实现接口的时候,如果这个类是抽象类,只需要实现接口中自己想是实现的方法即可,如果不是抽象类,则需要实现接口中所有方法

3、一个类可以通过implements实现多个接口,需要用逗号隔开,例如

class w implements a,b,c{

}


4、一个类在继承另一个类的同时,还可以实现接口,此时extends必须放在implements关键字之前。

三、包

为了将编写的类,像计算机的文件一样分目录存放,java语言引入了包。

包是专门用来存放类的,通常将功能相似的类放在同一个包下。

包语句使用package 包语句必须位于java源文件第一行

import语句用来引入包,引入格式是 import 包名.类名

jdk中,java的核心类主要放在java这个包及其子包下。可使用import 包名.* 导入该包下所有类

java.lang 核心类

java.util 大量工具类,集合类

java.net 网络编程类和接口

java.io 输入输出类相关类和接口

java.awt 图形界面的相关类和接口

四、访问控制


(图片来自传智播客ppt)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: