您的位置 首页 java

Java核心技术(初阶)——面向对象编程?我大意了

对象和类的关系

1. 对象是类的具体实现 ,是活生生的;

例如:

汽车是类,百度无人车是对象, 特斯拉 是对象, 小鹏汽车 是对象

对象有成员变量,还有成员方法

例如:特斯拉有电瓶,有加速减速方法

2.类是规范,对象是根据规范产生出的实例

class A{ } // 没有任何属性和行为

对象 A obj = new A();

汽车 特斯拉 = new 汽车();

Java核心技术(初阶)——面向对象编程?我大意了

产生一个对象

A obj = new A();//99%的情况是用new 关键字,还有1%是用克隆和反射生成

obj 可以看作是内存中一个对象(包括若干个数据)的句柄

面向过程&面向对象区别

面向过程编程:OP的典型代表是C。更强调方法动作,所有的变量是被动参与进来,没有自主决定权。

类似:动宾结构

面向对象编程:代表 Java /cpp/python。OO的方法属于每个对象的。 能否实现是由每个对象说了算的

类似:主谓宾结构,对象dian方法(参数)

Java核心技术(初阶)——面向对象编程?我大意了

特点——继承,多态

继承:子类可以继承父类所有内容( private 成员不能直接访问), 面向过程没有继承,导致很多方法属性重复定义。

多态性:同类的对象有共性,也有差异。

类 必须有 构造函数

为了对象产生时就给成员变量赋值,每个类有构造函数,没有 析构函数 (Java核心技术高阶里我会介绍这个)

Java构造函数的名称必须和 类名一样 ,且没有返回值。

不写的话,Java编译器 自动 为该类产生一个 空的无形参 构造函数

一个类可以有多个构造函数,形参列表不相同

Java核心技术(初阶)——面向对象编程?我大意了

构造函数

类 怎么隐藏成员变量,成员方法

例如:特斯拉的电池技术,你不可能直接拿到,不能直接修改,只能通过合理的访问才能了解。

类的成员属性,是私有的private;

类的方法是公有public的,getter和setter方法(eclipse可以自动生成),通过方法修改成员属性的值。

this 关键字

Java核心技术(初阶)——面向对象编程?我大意了

看图:用this来指代类的成员变量,清晰明了。

this负责指向本类中的成员

this可以代替本类的构造函数


question: 子类的构造函数继承父类的构造函数吗?想一想

文章来源:智云一二三科技

文章标题:Java核心技术(初阶)——面向对象编程?我大意了

文章地址:https://www.zhihuclub.com/183135.shtml

关于作者: 智云科技

热门文章

网站地图