1.1java中的成员变量和局部变量
1.java中的成员变量有初始值,但是局部变量没有。
2.同名的局部变量和成员变量,局部变量具有更高的优先级。
1.2java中的构造方法
1.构造方法就是用来初始化对象的方法。
2.构造函数的语法:
public 类名(){ //没有返回值 }3.系统会自动生成一个构造方法(隐式)
1.3静态变量
1.可以被类名后者对象名访问,但最好是类名。
2.在静态方法中:不能直接调用非静态变量(必须要先实例化),但是可以直接调用静态变量(因为属于类)。
3.在普通方法则都可以。
4静态初始化块旨在加载时执行一次,且只能初始化静态变量。
2.封装
1.封装的步骤
- 修改可见属性(使用private)
- 设置getter/setter方法(用于属性的读写)
- 在getter/setter方法中加入属性控制语句(对属性进行合法的判断)
3.多态
1.引用多态
父类的引用可以指向本类,也可以指向子类。
比如有父类Animal和子类Dog
那么即可以new一个本类的:Animal obj1 = new Animal();
也可以:Animal obj2 = new Dog();
但是子类不能指向父类。
2.方法多态
父类的可以调用 本类的方法,也可以调用子类的方法。(这种调用可以是重写也可以是继承)
但是父类不能调用子类独有的方法。
引用类型转换和数据类型转换是类似的。
比如:
Dog dog = new Dog();
Animal animal = dog; //向上类型转换
Dog dog2 (iDog)animal;//向下类型转化
if (animal instanceof car){ //使用instanceof来判断是否存在子类
Cat cat = (car)annimal
;
3.接口
接口是一种规范,规定类必须提供某种方法。
使用public。
接口是可以多继承的。
接口内的常量自带:public state final
类如果继承了抽象类,就必须实现抽象方法,或者接口中的抽象方法。
匿名内部类的语法格式:
IPlayGame ip = new IPlayGame(){ //IPlayGame是一个接口 一个方法 }