七、接口、Object类、垃圾回收器、包机制
1、接口
就是提前定义好的一套协议、标准,大家都面向接口去开发,目的在于降低各个层的关联程度。
1) 接口其实是一个特殊的抽象类,特殊在接口是纯抽象的
2) 接口中没有构造方法,接口无法被实例化(无法被实例化也就是无法创建对象)
3) 接口和接口之间可以多继承
4) 一个类可以实现多个接口
5) 一个非抽象的类实现接口,需要将接口中所有的方法“实现/重写/覆盖”
接口的语法:接口中只能出现常量和抽象方法
[修饰符] interface 接口名{
常量;
抽象方法;
}
例如:
public interface A{
//常量(必须用public static final修饰)
public static final String SUCCESS="sucess";
//public static final 是可以省略的,但是省略后其仍为常量,而非成员变量。
byte MAX_VALUE= 127;//常量
//抽象方法:接口中所有的抽象方法都是public abstract
public abstract void m1();
//publci abstract 是可以省略的,但是省略后其仍为抽象方法,而非成员方法
void m2();
}
接口作用的理解:在java中接口其实描述了类需要做的事情,类要遵循接口的定义来做事
1)采用接口明确的声明了它所能提供的服务
2)解决了java单继承的问题
3)实现了可接插性(重要)
在程序员开始编程的项目开发初期,由架构师、分析师、项目经理,专门去定义一些接口出来,然后吩咐一波程序员面向接口去调用,另外一波程序员去写实现类,然后开发完后拧结在一起.
2、接口和抽象类的区别
1)接口描述了方法的特征,但不给实现;解决了java单继承问题,实现了强大的可“接插性”
2)抽象类提供了部分实现,抽象类是不能实例化的,抽象类的存在主要是可以把公共的代码移植到抽象类中
备注:优先选择接口,因为:继承抽象类后,此类将无法再继承,所以会丧失此类的灵活性。
3、类与类之间的关系
1)泛化关系,类与类之间的继承关系及接口与接口之间的继承关系。
2)实现关系,类与接口的实现
3)关联关系,类与类之间的连接,一个类可以知道另一个类的属性和方法,在Java语言中使用实例变量体现。
4、垃圾回收器(Garbage Collection)也叫GC
1) 当对象不再被程序使用时,垃圾回收器将会将其收回
2) 垃圾回收是在后台运行的,我们无法命令垃圾回收器马上回收资源,但是我们可以告诉他,尽快回收资源(System.gc和 Runtime.getRuntime().gc())
3) 垃圾回收器在回收某个对象的时候,首先会调用该对象的finalize方法,finalize方法是该对象马上就要回收了,例如:需要释放资源,则可以在该方法中释放
4) GC主要针对堆内存
5、包机制
1) 为了解决类的命名冲突问题,在类名前加命名空间(包机制)
2) package语句只能出现在。java源文件的第一行
3) 带有package语句的java源文件必须这样编译:
javac -d 生成路径 java 源文件路径
其中的d表示的是directory目录的意思、生成路径表示的是:要把编译时生成的.class文件存放在的目录
例如:com.bjpowernode.javac.day05.Test03 u= new com.bjpowernode.javac.day05.Test03();
备注:java.lang;软件包下所有类,不需要手工导入,系统自动导入

浙公网安备 33010602011771号