记得老师的一句话,在Java的学习中,永远都不要忘记自己是一个oop程序员
一、面向对象基础
1、类与对象:
1.类:类是OOP编程的基础,它定义了一组具有相同属性和方法的对象的集合。类是对象的蓝图或模板,可以用来创建对象。
2.对象:对象是类的实例。每个对象都有其自身的属性和方法。
二、面向对象中级
1、面向对象三大特征:封装,继承,多态
1.封装:封装是OOP中的一个重要概念,它意味着将数据和操作数据的函数捆绑在一起,形成一个独立的实体。这有助于隐藏对象的内部状态,并确保对象的行为的一致性。
2.继承:继承是一种方式,让一个类继承另一个类的属性和方法。这样可以提高代码的复用性,因为子类可以自动继承父类的属性和方法。
3.多态:多态意味着一个接口可以有多种实现方式。在OOP中,多态通常通过继承和接口实现。
三、面向对象高级
1、类变量和类方法:
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,也是修改的同一个变量。
类方法也叫静态方法
2、代码块
Java代码块(Code Block)是一段代码片段,可以包含任何Java程序段,例如类、方法、变量、甚至是另一个代码块。它存在于Java语言中,被用于控制访问和作用域。Java中被广泛使用的代码块类型包括类初始化块、实例初始化块、局部代码块和synchronized代码块等。
类初始化块是一种在类被实例化之前,静态代码块初始化的机制。它是类中的其中一段代码,在类加载时执行,而且只执行一次,此后无论这个类实例化多少次,这段代码只会被执行一次。这是因为它不属于对象,而是类的属性。
实例初始化块是在对象实例化时运行的代码块。它可以对实例变量进行初始化或执行一些其他操作。类中可以有多个实例初始化块,它们将按照在类中出现的顺序的方式执行。实例初始化块比构造函数优先执行,每次新建一个对象的时候,它都会被执行一次。
3、抽象类
抽象类是一种不能被实例化的类,其目的是为了被其它类继承并实现其抽象方法。抽象方法是一种没有实现的方法,只有定义,需要在子类中被实现。抽象类可以包含非抽象方法和属性,但至少要有一个抽象方法。在Java中,抽象类用abstract关