java 析构函数_Java核心技术(初阶)——面向对象编程?我大意了

对象和类的关系

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

例如:

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

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

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

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

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

对象 A obj = new A();

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

570cc1b0d9c3d9a6e624d4e620aef542.png

产生一个对象

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

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

面向过程&面向对象区别

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

类似:动宾结构

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

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

eab606243342310aef37bb7ee3aed3f3.png

特点——继承,多态

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

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

类 必须有构造函数

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

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

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

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

14d3ee73953e968414d4cfd40627cfd7.png

构造函数

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

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

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

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

this 关键字

8a5c0a8d614d527b82fd6eba7564551c.png

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

this负责指向本类中的成员

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值