第二周的收获

方法重写(Override)和重载(Overload)区别
 1.方法重写发生在存在继承关系的子类中,由子类重写父类的方法;方法的重载一般发生在同一个类中
 2.方法重写必须保证方法的返回值类型与父类一致;方法的重载与返回值无关
 3.方法重写时必须保证方法中的参数列表与父类一致;方法重载必须保证每个方法的参数列表不一致
 4.共同点:不论方法重写还是重载,都必须保证方法名一致

游离块(初始化块)
在一个Java类中如果存在多个构造器,每个构造器中都有重复代码时,可以将重复的初始化一个游离块中,
统一执行,从而解决构造器中代码重复的问题,游离块一般在构造器执行之前先执行,在构造对象时隐式
调用,本质上就是一个方法的执行体
public class Config{
 public Config(){
 System.out.println("默认构造器的操作");

  }
 public Config(String key,String value){
 System.out.println("设置单个键值对");
 }
 public Config(Propertier props){
 System.out.println("设置一组信息");
 }
 //初始化块(游离块)
 {
 System.out.println("初始化。。。");
 }
  public static void main(String[] args){
   new Config("version","1.8");
 }

 }

多态

在java中,方法和属性都是可以以多态的形式存在的,方法的多态主要体现方法的重写与重载;属性的多态一般表现形式为父类引用指向子类对象(向上转型);

一个引用类型变量既可以指向该引用类型自身,也可以指向该类型子对象,该操作称之为多态,或者动态绑定。

public abstract class Animal{
    public abstract void sleep();
}

public class Dog extends Animal{
    public void sleep(){
        System.out.println("呼呼大睡。。。。");
    }
}

public class Test{
    public static void main(String[] args){
        //父类引用指向子类对象
        Animal a = new Dog();
    }
}

多态的优势:

  1. 降低了类之间的耦合

  2. 面向抽象编程

  3. 提高程序的可扩展性

猜你喜欢

转载自www.cnblogs.com/zt-bk/p/9321428.html