面向对象
1.概念:一切客观存在的事物都是对象,万物皆对象。
2.对象具有:特征(属性)和行为(方法)。
3.类的定义
概念:在一组相同或类似的对象中进行抽取共性属性和方法,保留关注的部分。
①定义属性:通过变量表示 实例变量
语法:数据类型 变量名;
定义位置:类中,方法外。
②定义方法:通过函数表示
语法:
public 返回值类型 方法名(形参列表){
方法的主体
}
注意:没有static
4.创建对象
语法: 类名 对象名 = new 类名();
为属性赋值的语法: 对象名.属性名 = 值;
调用方法的语法:对象名.方法名();
5.实例变量(背)
实例变量 局部变量
默认值 有,和数组一致 无,必须先赋值再使用
定义的位置 类中,方法外 方法内部
作用范围 本类有效 定义行到所在代码块结束
命名冲突 不可重名 不可重名
注:实例变量和局部变量可以重名,优先访问局部变量。
多态--多种形态
1.概念:父类引用指向子类对象。
注:
父类引用只能调用父类中所定义的属性和方法,子类独有的属性和方法不可调用。
二者必须存在继承关系
2.多态中的方法覆盖:
子类覆盖父类中的方法,使用父类引用调用该方法,执行的是覆盖之后的。
3.好处:
降低耦合性
屏蔽子类间的使用差异
4.向上转型、向下转型(掌握)
向上转型(装箱):父类引用中保存的是子类对象。
举例:Animal a = new Dog();
注意:父类引用只能调用父类中的属性和方法。
向下转型(拆箱):将父类引用中所保存的真实类型强制转换为自身类型。
举例:Dog d = (Dog)a;
注意:只有转换为子类真实类型,才可以调用子类中独有属性和方法。
1.概念:父类引用指向子类对象。
注:
父类引用只能调用父类中所定义的属性和方法,子类独有的属性和方法不可调用。
二者必须存在继承关系
2.多态中的方法覆盖:
子类覆盖父类中的方法,使用父类引用调用该方法,执行的是覆盖之后的。
3.好处:
降低耦合性
屏蔽子类间的使用差异
4.向上转型、向下转型(掌握)
向上转型(装箱):父类引用中保存的是子类对象。
举例:Animal a = new Dog();
注意:父类引用只能调用父类中的属性和方法。
向下转型(拆箱):将父类引用中所保存的真实类型强制转换为自身类型。
举例:Dog d = (Dog)a;
注意:只有转换为子类真实类型,才可以调用子类中独有属性和方法。