编程语言
首页 > 编程语言> > 软件构造复习——面向对象的编程

软件构造复习——面向对象的编程

作者:互联网

对象、类、属性、方法

说明

类变量和类方法与一个类相关联,并且每个类出现一次。 使用它们不需要创建对象。
实例方法和变量在类的每个实例中出现一次。实例⽅法也叫做对象⽅法。
类⽅法是属于整个类的,⽽实例⽅法是属于类的某个对象的。
由于类⽅法是属于整个类的,并不属于类的哪个对象,所以类⽅法的⽅法体中不能有与类的对象有关的内容。即类⽅法体有如下限制:
(1) 类⽅法中不能引⽤对象变量;
(2) 类⽅法中不能调⽤类的对象⽅法;
(3) 在类⽅法中不能使⽤super、this关键字。
(4)类⽅法不能被覆盖。
如果违反这些限制,就会导致程序编译错误。
与类⽅法相⽐,对象⽅法⼏乎没有什么限制:
(1) 对象⽅法中可以引⽤对象变量,也可以引⽤类变量;
(2) 对象⽅法中可以调⽤类⽅法;
(3) 对象⽅法中可以使⽤super、this关键字。
在程序设计中,⼀些通⽤的、公⽤型的⽅法与类的对象⽆关,因此常常被作为类⽅法实现。如Java类库中Math类,其中多数的数学运算操作都被定义成静态⽅法。因此,可以使⽤类⽅法把⼀些通⽤的、公⽤型的⽅法放在合适的类中,从⽽很好地将它们组织起来。应⽤程序中的主⽅法main就是类⽅法。

静态方法和实例方法

1.在外部调⽤静态⽅法时,可以使⽤"类名.⽅法名"的⽅式,也可以使⽤"对象名.⽅法名"的⽅式。⽽实例⽅法只有后⾯这种⽅式。也就是说,调⽤静态⽅法可以⽆需创建对象。
2.静态⽅法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态⽅法),⽽不允许访问实例成员变量和实例⽅法,如果需要调⽤,则需要先实例化;实例⽅法则⽆此限制。
3.概念分析
静态⽅法是在类中使⽤staitc修饰的⽅法,在类定义的时候已经被装载和分配。⽽⾮静态⽅法是不加static关键字的⽅法,在类定义时没有占⽤内存,⾮静态⽅法只有在类被实例化成对象时,对象调⽤该⽅法才被分配内存;
**注:**允许不创建对象⽽调⽤静态⽅法,是Java为了减少程序员调⽤某些常⽤⽅法时的麻烦,⽽允许程序员按照传统的C语⾔中使⽤函数的⽅式来使⽤⽅法。典型的例⼦是前⾯某些程序中使⽤"Math.ramdon()"来获取随机数。
静态⽅法只能访问静态成员,实例⽅法可以访问静态和实例成员。之所以不允许静态⽅法访问实例成员变量,是因为实例成员变量是属于某个对象的,⽽静态⽅法在执⾏时,并不⼀定存在对象。同样,因为实例⽅法可以访问实例成员变量,如果允许静态⽅法调⽤实例⽅法,将间接地允许它使
⽤实例成员变量,所以它也不能调⽤实例⽅法。基于同样的道理,静态⽅法中也不能使⽤关键字this。
main()⽅法是⼀个典型的静态⽅法,它同样遵循⼀般静态⽅法的规则,所以它可以由系统在创建对象之前就调⽤。
静态⽅法的优点:
静态⽅法可以⽅便在没有创建对象的情况下来进⾏调⽤(⽅法/变量)

接口和枚举

Java 的接口是一种用于设计和表达 ADT 的有用语言机制,它的实现是作为实现该接口的类。

接口中不可以有构造方法;接口中的方法,实例化后一定都要实现;保证表示不变量;因为 Java 中的接口不能包含构造函数,它们必须直接调用具体类的构造函数之一。该构造函数的规范不会出现在接口中的任何地方,因此无法保证不同的实现甚至会提供相同的构造函数。

使用静态工厂代替构造方法。

继承和重写

被final修饰的方法只可以被继承,而不可以重写它。

标签:复习,静态,编程,法中,面向对象,法是,实例,对象,变量
来源: https://blog.csdn.net/weixin_45811056/article/details/118542384