java面向对象基础知识

面向对象

类是一种抽象的数据类型,它是对某一类事物的整体描述和定义,但是并不能代表某一个具体事物

对象

对象是抽象概念的具体实例

使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用

构造器

一个类即使什么都不写,它也会存在一个方法(无参构造方法)

使用new关键字,本质是在调用构造器

有参构造:一旦定义了有参构造,无参就必须显示定义

构造器会初始化对象的值

构造器的特点:

1、和类名相同

2、没有返回值

封装(数据的隐藏)

定义:通常应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这称为信息隐藏

作用:

1、提高程序的安全性

2、隐藏代码的实现细节

3、统一接口

4、增加了系统的可维护性

idea中快速添加get/set方法快捷键:alt+insert

继承

定义:继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模

Java中只有单继承,没有多继承

Java中所有的类,都默认直接或者间接继承object类

idea中查看继承结构的快捷键:ctrl+h

super关键字

1、super调用父类的构造方法,必须在构造方法的第一个

2、super必须只能出现在子类的方法或者子类的构造方法中

3、super和this 不能同时调用构造方法

this关键字和super关键字的比较

1、代表对象不同

this: 本身调用者这个对象

super:代表父类对象的应用

2、使用前提不同

this:没有继承也可以使用

super:只能在继承的条件下才可以使用

3、构造方法的不同

this(),本类的构造

super(),父类的构造

重写

定义:子类的方法和父类必须一致,但方法体不同

为什么需要重写:父类的功能,子类不一定需要,或者不一定满足

重写的注意事项:

1、重写一定需要有继承关系,子类重写父类的方法

2、方法名必须相同

3、方法参数列表必须相同

4、修饰符:范围可以扩大但不能缩小

5、抛出的异常:范围可以被缩小,但不能扩大

重写快捷键 alt + insert : override

staic 和final和private修饰的方法不能重写

多态

定义:即同一方法可以根据发送对象的不同而采用多种不同的行为方式

一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件:

1、有继承关系

2、 子类重写父类的方法

3、父类引用指向子类对象

多态是方法的多态,属性没有多态性

抽象类abstract

实质是约束

注意事项:

1、不能new这个抽象类,只能靠子类去实现它

2、抽象类中可以写抽象方法也可以写普通方法

3、抽象方法必须在抽象类中

extends只能实现单继承

接口interface

接口本质是契约

普通类VS抽象类VS接口

普通类:只有具体实现

抽象类:具体实现和规范(抽象方法)都有

接口:只有规范(抽象方法) 约束和实现分离

接口可以实现多继承

作用:

1、约束、

2、定义一些方法,让不同人实现

3、接口中的方法默认是 public abstract

4、接口中的变量默认是 public static final

5、接口不能被实例化,接口中没有构造方法

6、implements可以实现多个接口

7、必须要重写接口中的方法

异常(Exception)VS 错误(Error)

Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。

异常分为运行时异常RuntimeException和检查型异常

运行时异常包括以下几种:

1、ArrayIndexOutOfBoundsException(数组下标越界)

2、NullPointerException(空指针异常)

3、ArithmeticException(算术异常)

4、MissingResourceException(资源丢失)

5、ClassNotFoundException(找不到类)

快速处理异常快捷键 ctrl+alt+T

Error的分类:

1、AWT错误(使用awt在服务器上处理图片错误)

2、JVM错误(java虚拟机错误)包含:1、StackOverFlow(栈溢出),2、OutOfMemory(内存溢出)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值