Java归纳——总结

最近感觉好多知识点甚是凌乱 今天就做个小总结 以便自己以后翻阅!

想到哪 就写到哪 吧  有不对的地方还望谅解

1.抽象方法和构造方法的区别:

抽象方法用abstract修饰 并且没有方法体  例如://抽象类  public  abstract class A{ public  abstract  void  B() //抽象方法 }

构造方法没有任何修饰 有方法体    一般创建对象的时候就会自动执行

列如:  public class   A{   } //类     public   A(){}//构造函数 (名称和类名一样) public   static void main(String[] args){ A   a= new    A() //创建子类的对象   、创建子类对象的同时执行了构造函数  }

在说说 java当中的继承 、抽象类和接口吧,发现他和.net(c#)只是大同小异

比如.net 当中的继承用的是   public class 子类:父类{  }而Java当中的继承怎用extends   如:public  class  子类 extends 父类{   }

Java当中的抽象类 

之前在学.net的时候一直没明白到底什么是抽象类  纠结了好长时间  昨天突然明白了:所谓抽象类 就是一种总体的概括的说法  比如:吃()这个方法  虽然是动物都会吃  但 具体的吃法以及吃什么

怎么吃 却都不一样 所以用抽象类 即这种总的抽象方法去描述它

写个简单的demo 了解一下

在谈谈接口吧: 我的理解就一种特殊的抽象类 ;他是一个抽象法的具体实现 它可以多实现 而抽象类不可以多实现
定义格式:
public interface 接口名 {
抽象方法1;
抽象方法2;
抽象方法3;
}
使用interface代替了原来的class,其他步骤与定义类相同:
接口中的方法均为公共访问的抽象方法
接口中无法定义普通的成员变量

在看一个很经典的小demo

总结总结接口和抽象类的区别:
相同点:
都位于继承的顶端,用于被其他类实现或继承;
都不能直接实例化对象;
都包含抽象方法,其子类都必须覆写这些抽象方法;
区别:
抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;
一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)
抽象类是这个事物中应该具备的你内容, 继承体系是一种 is..a关系
接口是这个事物中的额外内容,继承体系是一种 like..a关系

二者的选用:
优先选用接口,尽量少用抽象类;
需要定义子类的行为,又要为子类提供共性功能时才选用抽象类;