目录
类
- 面向对象程序设计:封装性、继承性、多态性
- 成员变量
- 成员方法
- 权限修饰符
- 默认为包内可见
- 类的权限设定约束类成员的权限
- 局部变量及有效范围
- 从变量声明开始到变量结束
- 变量名相同时,局部变量屏蔽作用域外的变量
- this关键字
- this是指向本类对象的指针
- 在局部变量覆盖成员变量时使用this指针明确引用成员变量
类的构造方法
- 与类同名
- 没有构造方法系统自动创建一个不带参数的默认构造方法
- 如果类中有构造方法,则系统不会自动创建无参数的构造方法
- this可以调用有参数的构造方法,只能在构造方法的第一句使用
静态变量、常量和方法
- 归属于类,针对类的而不是对象,对于不同的子类,不同的对象之间,静态变量、静态常量、静态方法使用同一块内存区域
- 静态数据、静态方法通常是为了提供共享数据或方法,以static声明,同样遵循权限修饰符的约束
- 静态常量使用final static声明
- 使用类.静态类成员调用,最好不要使用对象.静态类成员调用,容易混淆静态成员和非静态成员
- 静态方法不可以直接调用非静态方法
- 静态方法不可以使用this关键字(因为非静态方法和this都是针对对象的,静态方法是针对类的)
- 不可以将方法体内的变量声明为static
- 如果在执行类时,希望先执行某块区域,可以使用static定义一个静态区域 static{//do something} 只会执行一次
- 程序运行时先运行静态代码块,在运行非静态代码块,在运行构造方法,在运行成员方法(调用才会运行)
类的主方法
- public static void main(String[] args){}
- 主方法是静态的,如果直接在主方法中调用其他方法,则该方法必须也是静态的
- 主方法没有返回值
- 主方法的形参为数组
对象
- 对象的创建,new
- 访问对象的属性和行为,静态变量每个对象都可以改变它的值
- 对象的引用,创建的对象只是一个地址,表示对对象的引用,也可以不指向某个对象
- 对象的比较,==比较变量的表面值(即对象的地址),String的equals()方法比较对象指向的值
- 对象的销毁,定义finalize()方法;System.gc()强制启动垃圾回收