学习面向对象的阶段总结

发布于:2022-07-25 ⋅ 阅读:(366) ⋅ 点赞:(0)

        在面向对象这一学习阶段中,我们学习了面向对象的编程思想、对象和类、成员变量\局部变量\静态常量、构造方法、面向对象的三大特性 (封装、继承、多态)、重写、重载、this和super的应用场景、object类、向上\向下转型、final、abstract、interference、static等知识点,相对于之前学习的java基础知识,面向对象的知识就要复杂很多,学起来会困难一些,但只要多理解、多动手,慢慢地就会熟悉和掌握面向对象的编程思想和基础知识,只要功夫深,铁棒磨成针,付出是会有收获的。就我而言,基础知识基本掌握,但自我编写代码的能力还是比较欠缺,需要加强动手能力和逻辑思维能力。下面是根据老师的笔记整理的部分知识点。

  • 面向对象:所有事情在需要时让各个对象执行,注重创建解决问题的对象。
  • 对象object:某个类的具体实例,用于执行其类中的方法。
    创建对象:
    类名 对象名 = new 构造方法([参数]);

  • 类class:是一系列拥有相同属性和行为的对象的集合,是对象的模板。
    定义类:
    [修饰符] class 类{ //属性,定义变量 //行为,定义方法 }

  • 成员变量、局部变量、静态常量
        成员变量:定义在类中的变量,使用范围在该类中,也称为这个类的属性,它有默认值,在对象创
    建时创建,通过对象访问。
        静态常量:特殊的成员变量,使用范围在该类中,用static和final修饰,它通常需要在定义时赋
    值,在类加载时就创建,通过类名方法。
        局部变量:定义在方法中的变量,使用范围在该方法中,它没有默认值,在赋值后才能使用,在方
    法调用时创建。

  •  构造方法:是一种特殊的方法,方法名和类名一致,没有返回值部分。
    [访问修饰符] 类名(){ }

  •  面向对象的三大特性
    封装:将类中的属性使用private修饰后,就可以不允许非当前类进行访问,以此达到保护核心代码的目的。
    封装的步骤:(private的使用)
    
    继承:类A extends 类B ,类A就是类B的子类。类A就能直接使用类B中非私有成员。
    或接口A extends 接口B。
    
    多态:在继承中,子类的对象,可以保存到父类的变量中。再调用方法时,调用的是子类重写后的方法。
          父类 对象 = new 子类();
    
    

  •  重写override:子类继承父类后,对父类中的某个非私有方法进行重写,达到拓展或重做的目的。
  • 重载overload:在一个类中,某个方法在不同的参数下,表现不同的效果,同名不同参。
  • this和super
         二者都可以当做对象或构造方法使用。
         当做对象:this表示当前类的对象,super表示当前类的父类对象
              this或super当对象时,只能用在非静态方法中。
         当做构造方法:this()表示当前类的无参构造方法,super()表示当前类的父类的无参构造方法
              this或super当构造方法时,只能放在另一个构造方法的第一行。
         每个继承关系中,如果父类和子类都没有重载构造方法时,子类里都有一个默认无参的构造方法,其中
     在调用父类的无参的构造方法

  •  object类:是所有类的根类。任何类都直接或间接的继承了该类,但没有显式地写出来。所有类都可以调用或重写Object类中的方法。
  • 向下转型:父类对象强行保存到子类的变量中。
    Object obj=new Object(); Person p=(Person)obj;

  •  向下转型:父类对象强行保存到子类的变量中。
    Object obj=new Object(); Person p=(Person)obj;

  •  final:用于修饰属性、方法和类
    修饰属性:变量变为常量,不能改变其值。
    修饰方法:方法不能被重写。
    修饰类:类不能被继承。

  • abstract:用于修饰类和方法,表示抽象的。
    修饰方法,该方法称为抽象方法,没有方法体,同时该方法所在类一定也要使用abstract修饰成为抽象
    类。

  •  interface:用于定义接口的关键字,代替原本的class。
    如果某个抽象类中,全是抽象方法时,可以将该抽象类定义为一个接口。
    接口是一个完全抽象类。其中的方法都是公共的public抽象abstract方法,其中的属性都是公共的public
    静态static常量final。在jdk1.8后,接口中可以定义默认default方法和静态static方法。

  • static:可以修饰方法和属性,表示该方法或属性是静态的,在类加载时保存到内存中,无需对象参数,直接通过类名就能访问。

 

本文含有隐藏内容,请 开通VIP 后查看