JavaSE面向对象

一、什么是面向对象

​ 万事万物皆对象:对象是对类的实例化,类是将实体的共性抽离出来

二、面向对象的三大特征

1.封装

​ 1.将类中的属性隐藏起来,仅对外暴露公共的方法去获取或修改属性
​ 2.将方法的实现细节功能结构隐藏起来,提高安全性
​ 3.设置构造方法的权限,可以防止使用new的方式实例化

2.继承

​ 1.子类继承父类以后,相当于继承了父类中的所有功能结构
​ 2.子类可以对父类中的方法进行重写
​ 3.一个子类只能继承一个父类(超类,基类),父类可以被多个类继承,接口可以多继承

3.多态

​ 1.父类或接口的引用指向子类的对象
​ 2.编译看左边,执行看右边
​ 3.实现多态,对象只能调用父类中包含的方法,不能调用自己特有的方法

三、类及类的内部成员

1.类:

​ 权限修饰符 class 类名{}
​ 当声明为private只能在当前类使用;声明为public在当前项目的任意位置都可以使用;声明为propected,除了异包异类下都能访问;声明为默认权限,不能在异包异类和异包子类中访问(远亲不如近邻)

2.属性:

​ 权限修饰符 变量名;

全局变量

​ 声明在类中,可以被类中的所有成员访问

局部变量

​ 声明在方法中,只能在当前结构中被调用

3.方法:

​ 权限修饰符 返回值类型 方法名()

方法重载:

​ 两同三不同;方法名相同,在同一个类中;参数的类型,数量,顺序不同

方法重写:

​ 只改变方法体,子类中重写的方法的权限修饰符的作用范围> 父类中被重写的方法,子类中重写的方法的返回值类型<父类中被重写方法的返回值类型(如:子类为String类型,父类为Object类型)

4.构造器:

​ 权限修饰符 类名(){}

无参构造器:

​ 类默认提供一个空参构造器

有参构造器:

​ 重写一个带参数的构造器会覆盖掉空参构造器,需要自己再写一个空参构造器

5.代码块:

​ {}

静态代码块

​ 会在类初始化后优先执行代码块中的内容

非静态代码块

​ 创建对象后先执行非静态代码块的内容

6.内部类:

​ class 类名{}

普通内部类
静态内部类

​ 单例模式:使用static修饰的内部类实现单例模式不仅线程安全,而且实现了延迟加载

匿名内部类

​ 直接在类中使用抽象类名或接口名创建对象并实现内部的抽象方法

四、关键字

this

​ 指向当前类

super

​ 指向父类
​ super()和this()用于调用父类或当前类的指定构造器,在当前构造器中只能出现一个,且声明在构造器首行

static

​ 使用static修饰的成员可以直接被类名调用,在类初始化时就会加载被static修饰的成员

final

​ 1.修饰类表示该类不可被继承
​ 2.修饰属性表示该属性不可被修改
​ 3.修饰方法表明该方法是最终的,不可以被重写

extends

​ 表示继承:class A extends B{}

implement

​ 表示接口的实现:class A implements B{}

五、抽象类和接口

抽象类:

​ 权限修饰符 abstract 类名{}
​ 1.抽象类就是用来被子类来继承的
​ 2.抽象类中不一定有抽象方法,但抽象方法一定声明在抽象类中
​ 3.子类继承抽象类,一定要重写抽象方法

接口:

​ interface 接口名{}
​ 1.接口就是规范
​ 2.接口中的方法默认声明为public static final
​ 3.属性默认声明为public abstract
​ 4.接口中没有构造器,因此不能实例化
​ 5.接口可以去继承,而且是多继承

异常处理

异常的定义:异常就是不正常,在程序中出现的不正常的情况,Java通过异常去解决。

一、异常的处理方式:

​ 1.如果我们没有对于程序中的异常进行任何处理,则JVM帮我们处理,处理方式:

  • 终止程序
  • 打印输出当前的异常信息
    • 当前异常包装之后的异常类型
    • 当前异常出现的原因
    • 当前异常出现的位置

二、异常的解决方案

1.处理异常的关键字:

​ try、catch、finally、throw、throws

2.执行过程分析:
   - 执行try块中的的内容
   - 如果出现异常则创建一个与对应当前异常类型的异常对象
   - 以此匹配catch,查看是否匹配
   - 如果catch匹配成功,则执行当前catch块中的内容,结束整个try-catch语句,继续执行后续的代码逻辑
   - 如果catch匹配失败,则继续与下一个catch中的异常类型进行匹配,直至匹配成功
3.jdk7之后的catch增强:

​ jdk7之后可以用一个catch来捕获多个异常,多个异常之间通过|分割,但是要注意,catch捕获多个异常的时候不能存在字符类关系

4.为什么需要finally

​ 完成某些业务的时候,需要通信、文件数据的传输,此时就需要使用IO、Socket、Connection这些资源,而这些资源,而使用这些资源时,需要在执行结束之后,对资源进行关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值