JAVA学习笔记9-(接口和package和import)

接口在开发中的作用

面向接口编程,也就是面向抽象编程,能够降低程序的耦合度,提高程序的扩展力。
啥?为啥不给代码例子?…………
这个东西,只可意会,不可言传。
写得多了自然理解了……
接口的使用离不开多态机制。(接口+多态才可以达到降低耦合度。)


类和类之间的关系

is a(继承)、has a(关联)、like a(实现)

is a:
Cat is a Animal(猫是一个动物)
凡是能够满足is a的表示“继承关系”
A extends B

has a:
He has a Pen(他有一支笔)
凡是能够满足has a关系的表示“关联关系”
关联关系通常以“属性”的形式存在。

like a:
Cooker like a FoodMenu(厨师像一个菜单一样)
凡是能够满足like a关系的表示“实现关系”
实现关系通常是:类实现接口。
A implements B


抽象类和接口有什么区别?

  • 抽象类是半抽象的,接口是完全抽象的。

  • 抽象类中有构造方法,接口中没有构造方法。

  • 接口和接口之间支持多继承,类和类之间只能单继承。

  • 一个类可以同时实现多个接口,一个抽象类只能继承一个类(单继承)。

  • 接口中只允许出现常量和抽象方法。

  • 以后接口使用的比抽象类多。一般抽象类使用的还是少。接口一般都是对“行为”的抽象。


package和import

package

在IDEA工具中,新建package的方法如下:
新建package
在输入名字时,若package的名字为

a.b.c

意思是这个包(package)包含了3个文件夹(a和b和c)
如下图所示:
abc
在a包中去编写代码(新建class文件),可以看到在文件最上方有这么一行:

package a;
意思是这个文件在a包中。

值得注意点:

package出现在java源文件第一行。
以后说类名的时候,如果带着包名描述,表示完整类名。
如果没有带包,描述的话,表示简类名。
例如:java.util.Scanner 完整类名。(可以在java文件夹下的util文件夹找到Scanner文件)
Scanner 简类名

关于上述java.util.Scanner 的图片演示
1
2

import

import什么时候不需要?
java.lang同包下不需要。
其它一律都需要。
例如在java.lang下有String.java
但是我们用String的时候并没有写java.lang.String,而是直接写String就行。
经过测试,写成java.lang.String也是可以的。
这就说明在java.lang同包下不需要import。

在IDEA中如何使用?
首先要明确,IDEA开发工具是可以自动导入所缺失的包的。
如下图,在没有导入java.util包的情况下,我们调用Scanner
1
系统会提示我们导入class,点击即可自动导入。
2
(IDEA万岁!)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值