o 面向对象基础
类与对象
成员变量:
数据类型 变量名 (= 值);
成员方法
[ 权限修饰符 ] [ 返回值类型 ] 方法名 ( [参数类型 参数名 ] ) [throw 异常类型] {
函数体
return 返回值 ;
}
-
权限修饰符:public,private, protected 或缺省
-
参数:
- 值参数:
实参与形参之间传值调用,对形参的计算不改变实参 - 引用参数:
实参是数组或其他引用类型,方法中对参数的修改会影响原有的数组或引用类型 - 不定长参数:
若在声明方法时有若干同类型参数,可定义为不定长参数:
权限修饰符 返回值类型 方法名(参数类型… 参数名)
//注意:参数类型后面是三个点和一个空格,如 int… x
- 值参数:
构造方法
-
构造方法是与类同名的方法 ,对象的创建通过构造方法完成。每当类实例化一个对象,类都会自动调用构造方法
-
特点:
- 没有返回类型,也不能定义为void
- 名称和类相同
- 作用:完成对象的初始化,把定义对象的参数传给对象成员
- 可有参数
-
如果没有明确定义构造方法,编译器会自动创建一个不带参数的默认构造方法
-
可以用public或private修饰。用private时,不能用new创建对象,需要创建静态public方法return new类的对象
局部变量:略
对象销毁:
-
自动识别:由new产生的,当超过作用范围或被置为null
-
finalize():Object类,protected。可以自己定义,在垃圾回收时会被首先调用。在下一次垃圾回收时才会真正回收被对象占用的内存
-
垃圾回收不受人为控制,具体事件也不确定,甚至可能不发生。因此,Java提供了System.gc()强制回收垃圾
this关键字
-
引用本类的对象
-
调用类的成员变量和成员方法
-
调用类中的构造方法
-
作方法的返回值
static关键字
- 修饰类的静态成员
静态变量
-
共享的变量用static修饰,即静态变量
-
同一个类的不同实例对象若共用同一个静态变量,则一个类将其改变,另一个类静态变量也随之改变
-
当类首次被加载时,静态变量就被分配到内存中,知道程序结束才释放
静态常量
- 用final static修饰
- 可以被多个类共享
静态方法
- 无法或不想创建类的对象时,使用静态方法
- 调用类的静态方法,无需创建类的对象
静态代码块
- 用static{‘’代码‘’}修饰
- 在声明时就会开始运行
- 只运行一次
- 非静态代码块会在每次new对象的时候先于构造方法运行