Java基础-面向对象三大特性

 三大特性为:
封装 继承 多态

先谈谈理解:

封装:该露的露,该藏的藏

隐藏对象的属性和实现细节,仅对外暴露公共的访问方式

为了保证安全性,实现高内聚,低耦合(高内聚就是类的內部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用)

实现:public private等关键字,私有属性和get set方法

继承:类的关联,代码复用

子类能继承父类的public,protected方法和属性,还可以重写方法

单继承 extends

要实现继承,可以通过 继承和组合 来实现。继承类似“人-学生”的关系,组合类似“人-手/脚”的关系(把其他类作为参数)
 
修饰符:

 

 构造器:

而java编译器会默认在子类构造器的第一行用super()先调用父类的无参构造器。如果父类没有无参构造器,则子类在实例化的时候会报错。这个时候就需要显示的在子类构造器第一行(必须在第一行)指定构造器super(args)来指定调用父类哪个构造器。
 
构造器顺序:?
super好像就是假如重写了父类的方法或者属性,用这个关键字可以调用到父类的这些东西。

多态:父类数据类型的引用指向子类对象

 最典型的例子 :这样假如有个地方的参数需要的类型是List,那我们可以传递给它Arraylist或者LinkedList

List<String> arrayList=new ArrayList<String>();
实现多态,有二种方式,覆盖,重载。
(1)Java的方法重载(类内部之间的多态):就是在类中可以创建多个方法,它们具有相同的名字,但可具有不同的参数列表、返回值类型。
(2)Java的方法重写(父类与子类之间的多态):子类可继承父类中的方法,但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。重写的参数列表和返回类型均不可修改。
 
多态的好处:提高了程序的扩展性具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作
多态的弊端:不能使用子类的特有功能

原文地址:https://www.cnblogs.com/take-it-easy/p/14509987.html