封装:1.包装,例如我们将一些常用的功能进行抽取 定义成一个方法
2.隐藏,对类中的成员对外是否可见进行控制
比如:private String name 其中的name不可以被访问但是可以创建get set 方法里面添加if语句进行控制即可
继承:顾名思义
子类不能直接访问父类中私有的属性
多态:父类引用指向子类的对象,产生多种形态
比如Animal dog=new Dog();
Animal cat=new Cat();
将dog cat变量变成Animal的类型,在对方法的使用时可以更加简便只用Animal类型就可以代替。
注意:因为上升为父类类型,所以只能调用父类中的方法。
在编译期间看左边 运行期间看右边(所以是先看子类有没有,没有再去找父类)
特殊:静态方法和成员变量(命名相同)都是看左边。
子类因为向上转型了所以调用不到子类中特殊的方法,所以该怎么解决呢?
答:向下转型,如 Dog d=(Dog)dog;只能时父子类之间
本文介绍了面向对象编程中的关键概念:封装用于抽取常用功能并控制可见性,继承允许子类访问父类公共属性,多态则支持父类引用操作子类对象。注意编译期与运行时的行为差异,以及处理子类无法调用特殊静态方法的问题,解决方案是通过向下转型实现。
1691





