- 类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例
- 静态部分指属性,动态部分指行为
- 类是同一类事物的统称
- 在Java中,类中对象的行为是以方法的形式定义的,对象的属性是以成为变量的形式定义的
- 面向对象程序的特点:封装性,继承性,多态性
-多态:将父类对象应用于子类的特征就是多态,多态的实现不依赖具体类,而是依赖于抽象类和接口, - 抽象类不能实例化对象
- 由抽象方法组成的集合就是接口
成员方法
语法格式:
权限修饰符 返回值类型 方法名(参数类型 参数名){
....//方法体
return 返回值;
}
类成员变量和成员方法统称为类成员
权限修饰符:如果一个类的成员变量或成员方法被修饰为private,则该成员变量只能在本类中使用。如果一个类的访问权限被设置为private,这个类将隐藏其内的所有数据,以免用户直接访问它,如果一个类使用protected修饰符,那么只有本包内的该类的子类或其他类可以访问此类的成员变量和成员方法。
public和protected修饰的类可以由子类访问,如果父类和子类不在同一个包内,那么只有修饰符为public的类可以被子类进行访问,如果父类不允许通过继承产生的子类访问他的成员变量,那么必须使用private声明父类这个成员变量
当声明类时不使用public,protected和private修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量和成员方法。(类的权限设定会约束类成员的权限设定)
- 局部变量在使用时必须进行赋值操作或被初始化,在相互不嵌套的作用域中可以同时声明两个名称和类型相同的局部变量
构造方法:与类同名的方法,对象的创建就是通过构造方法完成的。特点,构造方法没有返回值,构造方法的名称要与本类的名称相同,
public book(){
.....//构造方法体
}
在无参构造方法中可以使用this关键字调用有参的构造方法,但使用这种方式需要注意的是只可以在无参构造方法中的第一句使用this调用有参构造方法。
静态变量:调用:类名.静态成员eg:staticTest.id
注意,在静态方法中不可以使用this关键字,在静态方法中不可以直接调用非静态方法,
在java中规定不能将方法体内的局部变量声明为static的
如果先执行类的初始化动作,可以使用static定义一个静态区域,
public class example{
static{
//some
}
}
当这段代码执行时,首先执行的是static块中的程序,并且只会执行一次,
对象的创建
public class CreateObject{
public CreateObject(){
System.out.println("创建对象");
}
public static void main(String args[]){
new CreateObject();
}
}
使用new操作符创建对象时,将自动调用构造方法中的代码
对象的引用:语法:类名 对象引用名称
引用只是存放一个对象的内存地址,并非存放一个对象。
对象的比较,“==”运算符比较的是两个对象引用的地址是否相等。equals()方法比较两个对象引用所指的内容是否相等。
垃圾回收:finalize()方法,是Object类的方法,被声明为protected