JAVA基础加强(四)

------- 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值