java核心技术10阅读(二)-面向对象编程

对象

基于对象编程和基于过程编程的区别在于,基于过程先设计解决算法再设计数据结构形成运行的程序,而基于对象是先寻找数据结构再设计算法的反向过程。这样能帮助我们更好的封装数据,提高方法的一个复用性,以及程序的健壮性,而不好的地方是封装过程的便是处理需要额外的时间。
对象的封装就像是一个黑箱,里面具有对象的状态、方法和标识。留给外部的是对象的特定的状态入口。
对象之间的关系包括继承、聚合、依赖、接口实现等
在这里插入图片描述

预定义类

对象变量与c++中对象指针类似,指向的是对象的堆内存的存储的地址。
java类包含时间data和日历localdata两个对象来区分不同的问题
访问器方法只调用对象状态而不更改生成新的对象状态,更改器方法会更改原来对象状态

自定义类

构造器相当于初始函数,但是不要再构造器内定义重名的实例变量,会导致实例变量无法被初始化。构造器特点:
一:构造器与类名重名
二:构造性接受多个参数(0个及以上)
三:构造器只能用new来生效
四:构造器没有返回值

对象方法的参数包括显示和隐式参数,显示参数指方法接受的参数,隐式参数指调用方法的对象,可以用this来指向。

在有些时候, 需要获得或设置实例域的值。因此,应该提供下面三项内容:
•一私有的数据域
•一公有的域访问器方法;(注意方法不要返回引用值,这样会将数据的私有性破坏,如果需要返回引用,则需要利用clone方法)
•一个公有的域更改器方法

/相同的类对象之间相互访问私有数据,C++ 也有同样的原则。方法可以访问所属类的私有特性( feature ), 而不仅限于访问隐式参数的私有特性/

类中的四个修饰关键字
public:任何类的任何方法可以调用这个方法或者实例属性;
private:该类的方法可以修改和访问同一对象的私有数据,表示该数据或者方法属于该类,或者同类的方法业能访问私有数据。不建议用public标记实例域,public允许所有的方法进行行堆数据进行访问和修改;

final 修饰符大都应用于基本(primitive ) 类型域, 或不可变(immutable) 类的域(如果类
中的每个方法都不会改变其对象, 这种类就是不可变的类。例如,String 类就是一个不可变
的类)。类似于CONST常量关键字,表示不可修改的基本变量值和不可修改的引用指针。

发布了15 篇原创文章 · 获赞 1 · 访问量 137

猜你喜欢

转载自blog.csdn.net/qq_17236715/article/details/103621155