七、接口、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;软件包下所有类,不需要手工导入,系统自动导入

 

posted @ 2016-12-16 19:01  爱笑的berg  阅读(204)  评论(0)    收藏  举报