继承和组合

每个方法里面都有两个隐式参数(this,super),this指向的是能直接调用该方法的对象,而super指向的是该方法所对应类的直接父类!每个构造器里面第一句隐式的调用了super(),也就是其直接父类的构造方法!继承在内存里面是包裹(wrap)结构!示例图如下:

继承如果从ooa和ood的角度分析:1.便于建模   2.类代码的复用(如果仅仅考虑代码复用则完全可以用组合代替)

组合复用代码途径就是将所复用代码的那个类属性的方式引进即可!

例如:

继承:

class a extends b{

}

组合:

class a{

  b b1=new b(); //将所要复用的代码以属性方式引入即可

     a a1=new a();

  a1.b1.xxx(); //代码的复用【组合】

}

 

用final 修饰的属性不能重新定义,用final修饰的方法不能被重写但能重载,用final修饰的类不能被继承!

如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

原文地址:https://www.cnblogs.com/aeon/p/7831509.html