java基础知识(整理)

来源:互联网 发布:xp有日历软件 编辑:程序博客网 时间:2024/05/17 22:42

面向对象编程

1.在java中,变量不持有对象,他们只有对象的引用
2.final实例变量
final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。
final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。
使用final来修饰的类叫作final类。final类通常功能是完整的,它们不能被继承。
final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。
3.静态变量 静态方法 静态类
静态变量的好处
1.静态对象的数据在全局是唯一的,一改都改。
2.引用方便。直接用 类名.静态方法名 或者 类名.静态变量名就可引用并且直接可以修改其属性值,不用get和set方法。
3.静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!
4.抽象类与接口
1.抽象类
抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:

abstract void fun();

因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。
 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:

  1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
  2)抽象类不能用来创建对象;
  3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
2.接口
Java中,定一个接口的形式如下:

[public] interface InterfaceName {}

接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法会被隐式地指定为public abstract方法且只能是public abstract方法,并且接口中所有的方法不能有具体的实现,,接口中的方法必须都是抽象方法。
要让一个类遵循某组特地的接口需要使用implements关键字,具体格式

class ClassName implements Interface1,Interface2,[....]{}

区别
1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
 2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
 3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
 4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

原创粉丝点击