关于JavaSE整体的知识总结

一、前言

    我们已经学完了所有 JavaSE 的知识,这一节做个串联和总结。

二、Java中的三大特性

   2.1 封装

  1. java 如何实现封装?

   答:通过类,访问修饰限定符和包来实现。

     类是通过数据和封装数据的方法结合在一起。限定符是控制方法和数据是否能直接在类外使用。包是类接口之外的封装。

   访问修饰限定符:public、protected、default、private。

2. static 关键字

   static修饰变量:所有对象共享的数据,存储在方法区,在类加载的时候就创建好了。

   static修饰方法:类方法,不属于某个对象。可以通过对象调用,也可以通过类名、方法名调用。不能在静态方法中访问非静态成员,因为没有 this 参数。

   类通过 static 修饰,该类就变成了内部修饰类。static 在代码块中使用被称为静态代码块,一般用来初始化静态成员变量。

2.2 继承

   1.java中对于继承的使用,使用 extends 关键字

   2.继承后子类对于父类的访问:

   如果重名优先从子类当中找,子类中没找到就去父类中找。同名的情况下,如果想要调用父类,使用 super 关键字调用父类。

   3. java中支持的继承方法:单继承,多继承,不同类继承同一类。

   4.继承中有关构造方法的问题:

   初始化子类时,先初始化父类。子类会默认在构造方法首行自动调用父类的无参构造方法,如果父类构造方法是有参的,子类必须调用父类带有参数的构造方法,并传递参数。

   5.super 和 this 的区别

   在构造方法中不能同时出现,构造方法中 super 和 this 都只能出现在第一行。

   在类中的非静态方法中使用,只能访问类中的非静态成员方法。

   super 是对继承父类的成员的引用,this 是对当前对象成员的引用。

   6. final 关键字

   可以用来限制继承。

   修饰变量,表示变量不能进行修改。

   修饰类,表示类不能被继承。

   修饰方法,表示方法不能被重写。

    三、多态

   1. 同一件事,发生在不同对象身上会产生不同的结果。

   2.多态的实现条件:

   必须在继承的体系下进行实现。

   子类需要对父类的方法进行重写。

   通过父类的引用调用重写的方法。

   3.在代码中是如何进行实现的:代码运行时,当传入不同类对象时,会调用对应类中重写的方法。

   4.方法的重写

   重写的对象:是对父类中非 final ,非 private,非 static,非构造方法的重写。

   如何重写:方法名,方法参数必须相同,返回值类型(构成父子关系),修饰符可以不同,但子类方法的修饰符不能比父类方法低,方法体不同。

   5.方法的重载

   方法的参数列表必须不同,方法名必须相同。

   6.向上转型、向下转型

   向上转型:子类向父类转型

   向下转型:父类向子类转型

   7.对象和引用之间的关系

   通过引用变量来指向对象的地址。

   其中引用对象是存放在栈中,而对于一个对象来说,通过new 一个新对象后,会存放在堆中。new出来的对象是唯一的,而多次引用时引用用一个对象。

   四、抽象类和接口                                                                       

   1.抽象类

   一个类没有足够的信息来描述一个具体的对象,就是抽象类。用关键字 abstract  

   注意:抽象方法不能为 private,默认为 public,不能为 final ,static(重写);抽象类不能被实例化对象,抽象类被继承时子类必须重写父类的抽象方法,否则子类也是抽象类。

   抽象类可以有构造方法,也可以有非抽象方法。

   2. 接口

 

接口就是一种行为规范,Java中的接口相当于是多个类的公共示范,是一种引用数据类型。  
 关键字:interface

   其他类使用通过implements 接口名来进行使用,之后也需要重写里面的抽象方法。

   接口中的抽象方法只能被 public abstract 修饰,重写接口方法时,不能使用 default 进行修饰,接口中的默认方法(public abstract)不能进行实现,接口中的变量默认为public abstract final 进行修饰

   接口中不能有静态代码块和构造方法。

   接口之间可以进行多继承,普通的类可以实现多个接口,但只能继承一个抽象类。

   五、String 类

  String 类被 final 修饰,就是不可变,线程安全。String 是引用类型,底层是 final 修饰的字符串数组存储。

   StringBuilder 和 StringBuffer的区别

   StringBuilder 线程安全,每个方法都是通过synchronized 来进行加锁;StringBuilder 线程不安全。

   被final 修饰不能被继承。和 String 相比来说,是在原对象上进行修改,是可变的。

   六、java 中的异常

   关键字:try_catch_finally,throw(抛出异常),throws(声明异常)。

   处理方法:使用try_catch 捕获并处理;通过 throw 抛出异常,在抛出前还需要对该异常进行声明。                                                                                                                                                                                                                                                                                                                                                                                                        

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值