Java面向对象思维导图和学习心得

思维导图
Java面向对象思维导图和学习心得_第1张图片
心得总结:
1.面向对象的核心在于抽象实现
抽象体现在抽象类和接口中声明方法而没有方法体,在子类中进行实现
在创建对象时,利用多态和继承的特性,可以声明父类的引用指向子类的实例以保证调用时功能的封装性且适应不同场合的需要
例如:

implement A{
   public abstract void say();
}
class B implement A{
   private int x;
   //getter,setter,constructor
   @override
   public void say(){
   System.out.println("I'm B");
}
}
class C implement A{
 private int x;
   //getter,setter,constructor
   @override
   public void say(){
   System.out.println("I'm C");
}
}
class Test{
public static void main(String[] args){
     A[] a = new A[2];  //创建接口数组
     A[0] = new B();     //将数组成员创建为子类实例
     A[1] = new B();
     A[0].say();
     A[1].say();
     }
}

多态的好处在于调用者不用关心接口/抽象父类的子类如何实现的相关功能,从而实现封装性

2.类的加载
类加载的时候会首先对类进行分析,是否有父类需要提前加载,然后读取类的基本属性,并安照基本类型对属性赋初值,再对类进行初始化(通过静态代码块)
在实例化的时候才会调用非静态代码块和构造器对实例进行初始化。
因此类加载顺序的本质是类的初始化实例对象的初始化之前

你可能感兴趣的:(javase)