多态的相关知识

来源:互联网 发布:淘宝回款周期 编辑:程序博客网 时间:2024/05/22 01:40
今天还是有收获的,主要是对抽象类和接口有点不熟悉。扩展知识点:static{  }静态初始化块,在类加载时执行,而且只执行一次我们在实际项目中如果遇到需要提前加载或是共享数据的时候既可以使用静态初始化块。如:在读写文件时,我们可以放在静态初始化块里,一次读写多处使用,减少IO操作和程序加载的时间。{  }直接写个花括号,表示实例化块实例化块在每次产生对象时执行一次,在super()执行之后而在构造方法之前。内部类   内部类是外部类的一个属性,内部类的产生要依赖于外部类   属性有的修饰符内部类都可以用内部类的实例化:  如: A  a = new A();       A.B  b = a.new B();A为B的包装类(外部类)B为A的内部类  如上可以看出 现有外部类对象才能产生内部内对象。  内部类也会生成class文件,文件名:A$B.class多态:    允许一个父类变量引用子类的对象,允许一个借口类型变量引用实现类对象。反过来却不能    多态调用时父类的变量指向子类对象所调的方法和属性仅限于父类有的方法和属性。不能调用子类所特有的方法和属性,如果子类重写了父类的方法,则调用子类重写的方法   如:B extends A       A  a = new B();中a只能调用A中有的方法和属性,如果B重写了A的方法mothed()则调用时调用B中的mothed()方法多态主要应用在多态参数和多态集合重载和重写就是多态的表现形式抽象类:  如果一个方法值只有方法的定义,没有方法的具体内容,该方法就是抽象方法,用关键之abstract定义,拥有抽象方法的类就叫抽象类。如果一个类继承于抽象类,则子类必须实现父类所有的抽象方法,如果子类也是抽象类可以不实现抽象方法不能定义为private和static接口:    接口可以看做是抽象类的特例,抽象类可以有抽象方法,也可以有具体的方法,但是接口只能有抽象方法,抽象类可以看做属性和行为的抽象,而接口只是行为的抽象。注意:一个类可以实现多个接口。


 

原创粉丝点击