Java面向对象的三大基本特征

众所周知,java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】

一、封装

    对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)

    具体来说:

            1.属性: 私有 private(提供set和get方法)

            2.方法: 公开或私有public/private

            3.方法声明 --> 公开

              方法实现 --> 隐藏

             实现改变时,对对象的使用者没有影响。

二、继承

          共性放到父类,特性放到子类;子类,父类 --> 其实就是特殊 --> 一般

    1.关键字: extends  例如:Dog extends Animal{}

    2.java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构),

      C++中是单继承

      java中要实现多继承,通过接口来实现。

    3.父类中所有属性和方法都能继承给子类;父类中的私有方法不能继承给子类。

    4.java中的访问修饰符

访问修饰符 访问权限 继承

private 本类内部 不能继承

default 本类+同包 同包子类可以继承

protected 本类+同包+不同子包 可以继承

public 公开 可以继承

  5.构造对象过程

               (1)分配空间

               (2)递归地构造父类对象

                            a. 父类 初始化属性

                            b. 父类 构造方法

               (3)初始化属性

               (4)调用构造方法


    6.super  

           用法:

               super()  调用父类的构造方法,只能出现在构造方法的第一行

               super.方法名   super表示父类的对象,通过它去调用父类的方法

           注意:在写类的时候,一定要写默认无参的构造方法,如果一个构造方法的

                 第一句既不是this(),也不是super()时,那么就会在这里隐含的调用

                 他的父类的无参的构造方法,即隐含的有super()。

三、多态

        运行时多态。

        子类的对象放在父类的引用中,例如 Animal a=new Dog,子类对象当父类对象来使用。

    1.多态原则:

              (1)对象类型不变

              (2)只能用引用调用其引用类型中定义的方法

              (3)运行时,根据对象的实际类型去找子类覆盖之后的方法

         例子:

              有Animal类中有eat()和sleep()两个方法,sleep()中睡8小时;子类Dog中有

              eat()方法,sleep()方法中睡6小时,还有wangwang()方法。

              现创建Animal a=new Dog(); 不能调用a.wangwang(),调用a.sleep()输出睡6小时。


      2.对象的强制转换

             格式: 引用 instanceof 类型

                    引用所指的对象是否与类相符,返回值boolean值。

             用法:

                   Animal a=new Cat();

                   if(a instanceof Dog)

                   {

                      Dog d=(Dog)a;

                      d.wangwang();

                    }

             说明:如果只有Dog d=(Dog)a;运行时错误,因为a是Cat而不是Dog (多态原则第一条)


      3.多态的灵活变换

              (1)用于参数列表上:

                           public void m(A a){} 可以用A类的任何子类对象作为参数

              (2)用在返回值上:

                          public A m(){}  这个方法可能返回A类的任何子类对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java是一种面向对象的编程语言,其中包含三大特征: 1. 封装:封装是指将类的接口和实现分开,并将实现隐藏在类内部。这样,其他类就无法直接访问类的内部实现,只能通过公共的接口来访问类的功能。封装有助于保护类的内部实现不被损坏,并有助于更好地组织代码。 2. 继承:继承是指一个类可以从另一个类中继承属性和方法。这样,可以在不改变已有类的基础上扩展新的功能。继承也有助于代码的复用,因为可以在已有的类的基础上创建新的类。 3. 多态:多态是指一个类可以具有多种形态,即可以在运行时根据需要执行不同的方法。这样,可以在不改变类的基础上,为类添加新的功能。多态有助于程序的扩展性和灵活性。 ### 回答2: Java面向对象编程语言具有三个重要特征,分别是封装、继承和多态。 封装是指将数据和操作数据的方法打包在一起,对外部隐藏内部的实现细节,只提供必要的接口供外部使用。通过封装,可以提高代码的安全性和模块化程度,降低代码的耦合性,提高代码的可复用性和扩展性。 继承是指可以通过现有类派生出新的类,派生类会继承父类的属性和方法,并可以通过添加新的属性和方法来扩展和修改原有的功能。使用继承可以提高代码的重用性,减少重复的代码编写,提高代码的可维护性和可扩展性。 多态是指同一操作具有不同的行为。在Java中,多态性通过方法重写和方法重载实现。方法重写是指子类定义了与父类同名、同参数列表和同返回类型的方法,并且可以重新定义父类方法的实现细节。方法重载是指在同一个类中可以定义多个同名方法,但参数列表必须不同。通过多态性,可以提高代码的灵活性和可拓展性,使得程序更易于维护和扩展。 总结起来,Java面向对象编程的三大特征封装、继承和多态使得程序具有良好的可重用性、可扩展性和可维护性,并且可以更灵活地适应不同的需求。 ### 回答3: Java 面向对象三大特征分别是封装、继承和多态。 首先,封装是指将对象的属性和行为组合在一起,形成一个独立的集合体,并对外部隐藏内部数据细节,只提供有限访问权限。通过封装,我们可以控制对象的访问权限,减少对外部的依赖,提高代码的可维护性和安全性。 其次,继承是指一个类(子类)可以继承另一个类(父类)的特性和行为,从而减少代码的重复编写。继承可以实现类之间的关系,使得父类的属性和方法可以在子类中被复用和扩展。子类继承了父类的公共属性和方法,可以使用这些继承下来的特性,也可以通过重写方法来实现不同的行为。 最后,多态是指同一个方法名可以在不同的对象上产生不同的行为。实现多态主要依赖于继承和方法重写。通过多态,我们可以根据实际对象的类型调用相应的方法,提高代码的灵活性和扩展性。多态使得程序可以根据不同的对象表现出不同的行为,增加了程序的可读性和可维护性。 总结来说,Java 面向对象三大特征封装、继承和多态,分别实现了对对象的隐私保护、代码的复用和灵活性。这些特征面向对象编程中的基本原则,使得程序具有更好的可扩展性、可维护性和代码的可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值