抽象类 | 接口 | 包 | 访问控制
2017-08-12 21:27
381 查看
一、抽象类
以前我们定义一个类就需要写一些方法来描述这个类的具体行为,就像前面的Animal类,需要我们写shout方法,但是没个动物的叫声都不一样,所以Animal的shout方法方法体写什么都不太标准,这时候我们就可以不写方法体了。
不写方法体的方法叫做抽象方法,抽象方法需要用abstract来修饰
如果一个类中有抽象方法,那么这个类就必须是抽象类,必须使用abstract来修饰。
但是! 但是! 但是抽象类可以没有抽象方法,只需要用abstract修饰即可。
注意!抽象类不能被实例化,因为抽象类中可能有抽象方法,抽象方法没有方法体,不可以被调用。如果想要调用,需要创建子类,在子类中进行实现。
二、接口
如果一个抽象类中所有方法都是抽象的,那么这个类就可以用另外一种方法来定义了,即接口。
接口使用interface关键字来声明
接口中的方法默认使用public abstract来修饰
接口中的变量默认使用public static final 即全局常量
以为接口中的方法都是抽象方法,所以也不能通过实例化进行调用,因此需要定义一个类,并使用implements关键字来实现接口中的方法。
程序中还可以定义一个接口用extends关键字去继承另一个接口。
接口总结
1、接口中的方法都是抽象的,不能实例化
2、当一个类实现接口的时候,如果这个类是抽象类,只需要实现接口中自己想是实现的方法即可,如果不是抽象类,则需要实现接口中所有方法
3、一个类可以通过implements实现多个接口,需要用逗号隔开,例如
4、一个类在继承另一个类的同时,还可以实现接口,此时extends必须放在implements关键字之前。
三、包
为了将编写的类,像计算机的文件一样分目录存放,java语言引入了包。
包是专门用来存放类的,通常将功能相似的类放在同一个包下。
包语句使用package 包语句必须位于java源文件第一行
import语句用来引入包,引入格式是 import 包名.类名
jdk中,java的核心类主要放在java这个包及其子包下。可使用import 包名.* 导入该包下所有类
java.lang 核心类
java.util 大量工具类,集合类
java.net 网络编程类和接口
java.io 输入输出类相关类和接口
java.awt 图形界面的相关类和接口
四、访问控制
(图片来自传智播客ppt)
以前我们定义一个类就需要写一些方法来描述这个类的具体行为,就像前面的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)
相关文章推荐
- 9、包、访问控制、import、static、static代码块、final、抽象类、接口、instanceof、多态
- dubbo接口访问控制
- java中抽象类与接口中方法访问修饰符问题
- 国密SKF接口函数介绍之二:访问控制函数
- java中抽象类与接口中方法访问修饰符问题
- java中抽象类与接口中方法访问修饰符问题
- java学习:类和方法的说明符、访问权限、抽象类、接口
- 2017 - 10 -16 面向对象 多态 抽象类 接口 形参和返回值 链式编程 包 访问修饰符 内部类
- Jeeplus框架SSM+shiro权限控制中实现跳过登录验证访问接口数据
- Struts2_11_struts访问web元素2利用struts提供的三个接口_IoC控制反转设计思想/DI依赖注入
- java中抽象类与接口中方法访问修饰符问题 (
- 【java编程思想--学习笔记(三)】访问控制-接口实现与类的访问权限
- java中成员访问修饰符,接口与抽象类相关知识
- JavaSE(四)之接口、访问控制
- java中抽象类与接口中方法访问修饰符问题
- python实现自动化远程控制(2)--构造抽象类和接口
- java编程思想(初始化与清理,访问权限控制,复用类,多态,接口,内部类)
- java中抽象类与接口中方法访问修饰符问题
- WebApi接口访问频率控制的实现
- dubbo接口访问控制 - 白名单