首页 > 技术文章 > 【java】java笔记

lijieqiong 2016-01-08 16:41 原文

构造函数

  • 使用构造器时需要记住

    1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)

    2.每个类可以有一个以上的构造器

    3.构造器可以有0个、1个或1个以上的参数

    4.构造器没有返回值

    5.构造器总是伴随着new操作一起调用

继承与构造函数

  • 使用super调用父类构造器的语句必须是子类构造器的第一条语句
  • 如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器。如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则java编译器将报告错误

接口与抽象类

  • 当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。

  • 类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。

  • 如果实现接口的类是抽象类,那么就没必要实现该接口的方法。
  • 一个类可以同时实现多个接口。
  • 在Java中,类的多重继承是不合法,但接口允许多重继承,。
  • 抽象类的存在原因有时候只想定义一个方法,然后它的具体实现过程在继承它的子类中定义,那就声明这个方法为抽象方法,而它存在的类,就是抽象类
  • 抽象类,必须被继承为子类,才能实例化对象,并且子类除非依然是抽象类,public abstract,否则要把抽象类中所有方法都实现
  • 接口的存在原因:类无法实现多重继承,一个子类继承了一个父类,同时又需要别的方法。使用接口,就可以多重继承,一个类可以实现多个接口
  • 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值
  • final修饰的变量,代表只能赋值一次,以后其值就定了。对于static修饰的变量,代表静态变量。内存中只有一个拷贝,节省内存
  • 抽象类也有构造函数,用于初始化抽象类中的成员。系统会自动加载一个无参构造函数,以及一个有参构造函数。如果子类继承了抽象类,实例化对象的时候,先调用父类(抽象类)的无参构造函数,如果实例化对象的时候带参数了,就先调用父类的带参构造,然后是子类的带参构造

推荐阅读