JAVA基础加强(四)

来源:互联网 发布:gps定位系统平台源码 编辑:程序博客网 时间:2024/05/12 00:56

------- android培训、java培训、期待与您交流! ----------

反射:要让java程序运行,就需要让java类被java虚拟机加载。我们的程序
                     都是在编译期的时候就已经知道所需要的哪些类已经被加载了
                     而反射的特点是在程序运行的时候动态加载一个类,并且可以调用该类方法和属性,包括私有属性
  
反射的作用:程序运行的时候动态加载一个类,并且可以调用该类方法和属性,包括私有属性
    
应用场景之1:
                    比如简单工厂模式,是根据传入子类名称的字符串来判断 new出相应的子类
                    这样增加一个子类就需要修改工厂代码
                   如果用到反射则不需要再修改工厂代码了,只需要增加相应的子类即可

抽象类abstract:
使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)
下面是抽象方法声明时采用的语法:
abstract void f();
为什么要有抽象类:父类本身应该是一个抽象的概念,所以有方法体和能实例化意义不大。
口诀:
有抽象方法的一定是抽象类
但一个抽象类不一定只有抽象方法
抽象方法没有方法体
非抽象子类必须重写抽象方法
如果不重写,子类必须是抽象类
抽象类不能被实例化,不能是静态和密封类。
 
Interface接口:
接口表示一种约定,表示一种能力。相对于抽象类来说可以更好的增加程序的扩展性,因为类只能继承一个而可以实现多个接口
1.不能定义变量,属性自动用public static final修饰
  即接口中属性都是全局静态变量,且必须定义时指定初始值
2.所有方法都是抽象方法,自动public static修饰
3.不能实例化,不能有构造方法
4.接口不能继承类
5.接口从某种情况下来说可以new 。但必须用匿名类来实现(new的时候用大括号)

0 0