栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象编程2.0

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象编程2.0

栈(stack)

栈存储的特点是:先进后出

堆(heap)

存放的是类的对象 ;

所有类的对象都是通过new关键字创建

new关键字, 是指告诉JVM , 需要明确的去创建一个新的对象 , 去开辟一块新的堆内存空间:

堆内存与栈内存不同, 优点在于我们创建对象时 , 不必关注堆内存中需要开辟多少存储空间 , 也不需要关注内存占用时长

堆内存中内存的释放是由GC(垃圾回收器)完成的

当栈内存中不存在此对象的引用时,则视其为垃圾 , 等待垃圾回收器回收

多态

父类的引用指向自己的子类对象,父类的引用也可以接收自己的子类对象

多态的好处:大大提高了程序的扩展性

多态的前提:必须是类与类之间有关系(继承或者实现);通常还有一个前提,存在覆盖。

多态的弊端:提高了扩展性,但是只能使用父类的引用访问父类的成员

存在引用数据类型的类型提升,即向上转型。

Object:是所有对象的直接或者间接父类,该类中定义的肯定是所有对象都具备的功能。

equals()方法比较的是对象的地址值。equals()里的参数不确定,所以使用Object,即可多态实现比较。

将一个类定义在另一个类的里面,而里面那个类就称为内部类(内置类、嵌套类)。

内部类访问特点:内部类可以直接访问外部类中的成员,包括私有成员;而外部类要访问内部类中的成员必须要建立内部类的对象。

好处:可以直接访问外部类中的成员(包括私有成员),而不用创建对象。

静态内部类
访问格式:

当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内部对象。格式:外部类名.内部类名  变量名 = 外部类对象.内部类对象(Outer.Inner in = new Outer().new Inner())
当内部类在成员位置上,就可以被成员修饰符所修饰。比如,private:将内部类在外部类中进行封装,Static:内部类就具备了静态的特性。当内部类被静态修饰后,只能直接访问外部类中的静态成员了(外部成员也要用static修饰才行)。修饰出现限制了。

只有定义在成员位置上,才能被私有或静态所修饰。

1内部类定义在局部时,不能被成员修饰符修饰;

2可以直接访问外部类中的成员,因为还持有外部类中的引用,但是不可以访问它所在的局部变量,只能访问被final修饰的局部变量

匿名内部类:

1匿名内部类其实就是内部类的简写格式

2定义匿名内部类的前提:内部类必须继承一个类,或者实现接口

3匿名内部类的格式,new 父类或者接口(构造函数,可以往其传参){定义子类的内容}

3匿名内部类就是一个匿名子类对象,可以理解为带内容的对象

异常

异常:程序运行时出现不正常情况。

异常由来:问题也是现实生活中的一个具体事物,也可以通过java的类的形式来进行描述,并封装成对象。异常其实就是java对不正常情况进行描述后的对象体现。

对于问题的划分:一种是严重的问题;一种是非严重的问题。

对于严重的,java通过Error类进行描述。对于Error类问题一般不编写针对性的代码进行处理;对于非严重的问题,java通过Exception类进行描述,对于Exception类的问题可以使用针对性的处理方式进行处理。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号