一.封装(最简单)
·将属性私有化:
·private:访问修饰 私有的,被private修饰的属性只能在本类中使用。
·为私有化的属性提供公开的get/set方法:。
·set方法: 为私有属性赋值:
public void set属性名(数据类型 变量名){ // 属性名首字母大写,
this.属性名=变量名;
}
注意 取决于当前属性的数据类型.
·get方法:获取私有属性的值:
public 属性类型get属性名(){ // 属性名首字母大写
return this.属性名;
}
二.继承 (相对难)
A is a B 成立 AB有关系
A 继承 B A子类 B父类
A Extends B A 继承自类B
·除了方法覆盖(override) 还讲了方法的重载(overloading)
·4个访问修饰符:从严到宽
private(私有的):本类ok
default(默认的): 本类 同包ok
protected(受保护的):本类 同包 不同类的子类ok
public(公开的) : 本类 同包 不同类的子类 其他(不同包的非子类)ok
三.多态
·啥叫多态:子类继承父类 重写父类的方法
·引用之间的转换
第一种情况:子类型引用直接赋值给父类型引用,多态的应用
Dog d=new Dog();
Animal a=d;
第二种情况:父类型引用 必须通过强转赋值给 子类型引用
Animal a=new Dog();
Dog d=(Dog)a;
①实际存储对象炎型和要转换的类型匹配
转换成功,运行通过。
Animal a=new Dog();
Dog d=(Dog)a;
②实际存储对象类型和要转换的类型不匹配,
Animal a=new Dog();
Cat c=(Cat)a;
编译通过,运行报错,错误信息:Java long Class Cast Excection(类型转换异常)
第三种情况:没有继承关系的引用之间不能相互赋值
Animal a=new Dog();
Person p=(Person)a;//Error