Java面向对象阶段总结

Java面向对象阶段总结

在java的基础学习完成之后,迎来了面向对象阶段的学习,其学习难度明显比基础部分要高,充斥着抽象性的概念和内容。

面向对象与面向过程的区别

面向对象:也称OOP,指创建出解决问题的对象,并给其设计方法,重点在于各个对象的执行。

面向过程:也称POP,值按照步骤一步一步解决问题,重点在于详细的解决步骤。

对象和类

对象:即Object,是某个类的具体实例,主要是执行类中的方法。

类:即Class,是拥有相同属性和行为的对象的集合。

变量:分为成员变量、局部变量、静态常量。

  • 成员变量:定义在类中的变量,即这个类的属性,有默认值,在对象创建时创建并通过对象访问

  • 局部变量:定义在方法中的变量,使用范围在该方法中,没有默认值,赋值之后才能使用,在调用方法时创建

  • 静态常量:特殊的成员变量,使用范围在该类中,用static和final修饰,一般在定义时赋值,在类加载时创建,通过类名方法访问

构造方法

一种特殊的方法,方法名和类名要求一致,没有返回值

**特点:**用于初始化成员变量,没有返回值,方法名和类名一致,在new创建对象时自动调用,每个类在定义后都会生成一个隐藏的无参数的构造方法,并在自己创建构造方法后失效,与其他构造方法之间是重载的关系,不能重写。

public 类名(参数列表) {
    ...
}

封装

如果类中的属性用private修饰了,除当前类的其他类就不允许对其进行访问,起到了保护核心代码的作用。

private String 属性名;

继承

使用extends修饰类名,如

public classA extendsB

就是类A继承了类B,类A是类B的子类,类B是类A的父类,类A可以直接使用类B中的非私有成员。

多态

在满足继承的条件下,子类的对象可以直接保存到父类的变量中,在调用方法时,也是调用的子类重写后的方法。

一般格式为

父类 对象 = new 子类();

其他重点

重写

即**@override**,在满足继承的条件下,子类对父类的某个非私有方法进行重写,以拓展或重做方法。

  • 重写时方法名、返回值、参数列表必须相同
  • 子类的访问权限不能比父类更严格
  • 子类不能抛出比父类更大的异常
重载

即**@overload**,在一个类中,同一个方法可以通过不同参数的调用展现不同的作用。

  • 重载的方法名必须相同
  • 重载的参数列表必须不同
  • 重载与返回值无关
Object类

是所有类的跟类,任何类都直接或间接的继承了该类,所有类都可以调用和重写Object类中的方法。

this和super

作为对象或构造方法使用

对象

  • this表示当前类的对象,super表示当前类的父类对象
  • 只能用于非静态方法中

构造方法

  • this()表示当前类的无参构造方法,super()表示当前类的父类的无参构造方法

  • 只能放在另一个构造方法的第一行,如

    public 类名() {
        this();super();
        ...
    }
    
abstract

用于修饰类或者方法,表示该类或方法是抽象的。

interface

即接口,代替class,在抽象类中,当全是抽象方法时,可以将该类定义为一个接口。

static

用于修饰方法或属性,表示静态,可以直接通过类名访问方法或属性。

难点

  • 面向过程到面向对象的思维转换;即将问题分割成由多个对象共同解决的一个对象
  • 对象和类的理解使用;因为其是面向对象的基础,对其概念和描述的理解要深
  • 封装、继承、多态的理解使用;作为面向对象的三大特性,封装的访问限制,继承的复杂性,多态的多样化都是学习的难点
  • 重写和重载的调用逻辑;注意重写同名同返同参,重载同名不同参
  • 抽象类的理解使用;抽象类主要是在普通类中添加一些抽象方法,主要是起到一个类定义模板的功能
  • 接口类的理解使用;接口类与抽象类最大的区别在于抽象类中可以有实例,而接口不行,合理使用接口,如一个类可以继承多个接口,更能满足我们的开发需求。

结语

面向对象的学习更多的是理解上的内容,其代码部分并不复杂,对逻辑思维的要求更高,在解决问题上的效率更快、效果更好,是java学习中必不可少的内容!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值