Java面向对象

Java面向对象

一、面向过程 & 面向对象

面向过程:
在这里插入图片描述
面向对象:
在这里插入图片描述
静态方法可以直接调用,如果是非静态方法需要先实例化(new)才可以调用。
在这里插入图片描述
在这里插入图片描述
构造器功能:
1、使用new关键字,本质是调用构造器。
2、初始化对象的值。
注意:

  • 如果自己定义了有参构造,无参构造必须显示定义。
  • 一个类即使什么都不写,也会存在一个方法(无参构造器)。
  • 生成构造器快捷键 Alt+Insert。

IDEA中out文件可以查看class文件,如果没有去项目结构里面添加。

创建对象的内存分析:
在这里插入图片描述

在这里插入图片描述

二、封装、继承、多态

在这里插入图片描述
封装的作用:

  • 提高程序的安全性,保护数据
  • 隐藏代码的实现细节
  • 统一接口
  • 系统可维护增加
    在这里插入图片描述
    在Java中所有的类都直接或者间接继承Object。
    私有的东西无法被继承。

super注意:
1、super调用父类的构造方法,必须在构造方法的第一个。
2、super必须只能出现在子类的方法或者构造方法中。
3、super和this不能同时调用构造方法。

super 和 this 对比:
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只能在继承条件下才可以使用
构造方法:
this();本类的构造
super();父类的构造

重写:需要有继承关系,子类重写父类的方法!
1、方法名必须相同
2、参数列表必须相同
3、修饰符:范围可以扩大但是不可以缩小; public>protected>default>private.
4、抛出的异常:范围可以被缩小但是不能扩大; ClassNotException --> Exception(大)

重写:子类的方法和父类必须一致,方法体不同。

为什么需要重写?父类的功能,子类不一定需要或者不一定满足。在这里插入图片描述
在这里插入图片描述
多态注意事项:
1、多态是方法的多态,属性没有多态
2、父类和子类,有l联系 类型转换异常
3、存在条件:继承关系,方法需要重写,父类引用指向子类对象 Father f1 = new Son()

instanceof 和 类型转换

	System.out.println( X instanceof Y);// 如果X的范围大于Y的范围则结果是true
	
	// 类型转换
	// 高                低
	Person obj = new Student();
	// student将这个对象转换为Student类型,我们就可以使用Student类型的方法了
	((Student) obj).go();

	// 子类转换成父类可能会丢失一些自己的方法

类型转换注意事项:
1、父类引用指向子类的对象
2、把子类转换成父类,向上转换,可能会丢失一些自己的方法
3、把父类转换成子类,向下转换,强制转换,
4、方便方法的调用,减少重复代码

static关键字
statis修饰符修饰的对象,在程序加载时就已经开辟空间,不用再new可以直接使用。
在这里插入图片描述
抽象类注意事项:
1、不能new这个抽象类,只能靠子类去实现它;约束!
2、抽象类中可以写普通方法
3、抽象方法必须在抽象类中

在这里插入图片描述
接口的作用:
1、约束
2、定义一些方法,让不同的人去实现
3、接口(一般是XXServices)中的所有定义的方法都是抽象的 public abstract。
4、常量一般被 public static final 修饰
5、接口不能被实例化,接口中没有构造方法
6、implements可以实现多个接口
7、实现类(一般是XXServicesImpl)必须重写接口中所有的方法。
在这里插入图片描述
例子:
在这里插入图片描述
注意:一个类里面可以有多个类,但是只能有一个public类。

三、异常机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
异常处理机制
抛出异常
捕获异常
异常处理的五个关键字:
try(监控区域) 、catch(捕获异常类型)、finally(一定会被执行)、throw(自动抛出异,一般在方法中使用常)、throws (在方法上使用)

异常处理快捷键:Ctrl Alt + t
在这里插入图片描述
自定义异常例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值