Java 面向对象

一、概念

提出一种计算机世界里解决复杂软件工程的方法论拆解问题复杂度,从人类思维角度提出解决问题的步骤和方案。

程序 = 对象 + 消息

1.三大特征

1.1封装

        将数据和代码捆绑到一起,以此实现对数据和代码不同级别的访问权限。如私有的成员变量就是封装的体现。能够实现对数据和行为的包装和信息隐藏。

1.2继承

        一种层次模型,这种层次模型能够被重用。层次结构的上层具有通用性,但是下层结构则具有特殊性。与c++不同,Java中只有单继承,但是可以多重继承层层嵌套。能够提高工作效率,减少代码冗余。

1.3多态

        使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。一个接口,多种方式。

2.抽象

        抽象是从被研究对象中抽取与实验相关的共性加以考察,形成正确、简明扼要的认识。

二、对象与类

对象是对客观事物的抽象,类是对对象的抽象

构建一个Circular类(代码忘了放哪了,找时间补上)。

1.类对象的创建

        Circular c1=new Circular(2);

        其中new Circular(2) 调用构造方法产生了一个类对象,并为此对象开辟空间。其中Circular c1则创建了一个类对象的引用。哪怕再来一个Circular c2=c1;不过也是对同一个对象的引用的传递,而非值传递(String是值传递)。

2.初始化

        父类优先,然后按静态属性、静态方法块(包括main)、其他静态方法、普通属性、普通方法块、构造方法、普通方法的顺序进行。

3.构造方法

        初始化之后才能使用。子类中构造函数都会默认访问父类中的空参数的构造函数,每一个子类构造内第一行都有默认的语句super();

4.this

        this(参数),用于构造函数之间互相调用。或类似this指针,不同的对象调用同一方法用于标识不同对象。以及返回当前对象。

5.final

        1.可以用于不变的常量仅赋初始值。

        2.用于不可变的对象,final修饰的对象的引用没法改变引用的对象,但对象本身是可以变的,只是这样容易造成误解。

        3.可以用于最终的类、方法,防止继承破坏封装性。

6.static

        static修饰的属性、方法将和类本身失去关联。static方法不能使用this、super,不能访问非静态方法。反过来可以。static属性可以在不同对象间起到“数据共享”的作用。成员变量存在于堆内存中。静态变量存在于方法区(永久区)中。

三、三大特征的实现

1.继承

1.1组合和继承

        组合是has-a 的关系,继承是is-a 的关系。继承耦合紧密,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值